앱 삭제 측정

개요

다음 섹션을 완료하여 iOS 앱 삭제 측정을 설정, 통합 및 테스트합니다:

  1. Creating a .p12 certificate and sending it to the marketer.
  2. 앱 삭제 측정을 위한 SDK 구성.
  3. 앱 삭제 측정 테스트.

Creating a .p12 certificate

To enable uninstall measurement, a .p12 certificate is required.

📘

참고

Currently, .p8 certificates are not supported.

To create a .p12 certificate:
Step 1: Create a Certificate Signing Request (CSR)
1.1. On your Mac, open Keychain Access. Go to Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority.

643643

1.2. 양식을 작성합니다. 디스크에 저장을 선택하고 계속 을 클릭합니다.

608608

2단계: 앱 ID 선택
2.1. Apple 개발자 회원 센터 에서 Apple 앱 ID를 찾거나 새로 만드십시오.

앱 ID를 생성하려면 Apple 개발자 회원 센터에서 식별자로 이동하고 +를 클릭하십시오.

878878

2.2. 앱 ID 뷰의 기능 아래에서 푸시 알림 을 선택하고 구성 을 클릭합니다(이전에 구성된 경우 편집). 구성/편집 버튼을 사용할 수 없는 경우 필요한 권한이 없을 수 있습니다.

15241524

3단계: CSR 업로드
3.1. 프로덕션 또는 개발 SSL 인증서를 생성할지 여부를 선택하고(참고 참조) 인증서 생성을 클릭합니다.

10071007

📘

참고

게시된 앱에 프로덕션 SSL 인증서를 사용합니다. 앱이 게시되지 않고 개발 중인 경우 개발 SSL 인증서로 작업할 수 있습니다. 예를 들어 앱이 아직 게시될 준비가 되지 않은 경우 개발 SSL 인증서를 사용하여 TestFlight에서 푸시 관련 기능을 테스트할 수 있습니다.

3.2. 1 단계에서 생성한 CSR을 업로드하고 계속을 클릭합니다.

18181818

3.3. 다운로드 버튼이 나타나면 다운로드할 준비가 된 것입니다. 업데이트될 수 있도록 페이지를 새로 고쳐야 할 수도 있습니다. 새로 생성된 인증서를 다운로드합니다.

10061006

4단계: .p12 파일을 만듭니다.
4.1. Open the .cer certificate. Opening the certificate will open Keychain Access.
4.2. In the Keychain Access, your certificate is shown under My Certificates. Select the certificate that was just added to Keychain Access.
4.3. Right-click on your certificate and select Export.

670670

4.4. 저장을 클릭합니다. 반드시 개인정보교환(.p12) 포맷을 이용하십시오.

774774

📘

참고

개발 또는 프로덕션 푸시 SSL 인증서를 갱신하는 경우 이전에 나열된 단계를 따르십시오. 변경사항을 적용하기 위해 이전 인증서를 취소할 필요는 없습니다. 두 개의 프로덕션 인증서를 동시에 사용할 수 있으므로 새 인증서를 업로드하는 동안 이전 인증서를 계속 사용할 수 있습니다.

Step 5: Upload .p12 to AppsFlyer
Send the .p12 certificate to the marketer to upload to AppsFlyer.

SDK 설정

AppDelegate에 다음 코드를 추가합니다.

        //add UserNotifications.framework
import UserNotifications
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // ...
        application.registerForRemoteNotifications()        
        return true
      }
    
     // Called when the application sucessfuly registers for push notifications
      func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        AppsFlyerLib.shared().registerUninstall(deviceToken)
      }
// AppDelegate.h
#import <AppsFlyerLib/AppsFlyerLib.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate, AppsFlyerLibDelegate>

// AppDelegate.m
- #import <UserNotifications/UserNotifications.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // The userNotificationTypes below is just an example and may be changed depending on the app
     UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
              center.delegate = self;
              [center requestAuthorizationWithOptions:(UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge) completionHandler:^(BOOL granted, NSError * _Nullable error) {
              }];
       [[UIApplication sharedApplication] registerForRemoteNotifications];
        // if you do not use push notificaiton in your app, uncomment the following line
        //application.applicationIconBadgeNumber = 0;
      }
      - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
        [[AppsFlyerLib shared] registerUninstall:deviceToken];
      }
}

백그라운드 모드에서 푸시 알림 활성화

만약 사일런트 푸시 알림만 사용하는 경우, 앱의 Capabilities탭의 Background Modes에서 Remote Notifications을 활성화 해야합니다.

  1. XCode에서 프로젝트를 선택하십시오.
  2. 타겟을 선택하십시오.
  3. 역량(Capabilities) 탭으로 전환합니다.
  4. Background Modes(배경 모드)를 ON으로 켭니다.
  5. Remote Notifications(원격 알림)을 체크합니다.
14981498 11751175

앱 삭제 측정 테스트

iOS 앱 삭제 측정 테스트하기

  1. 앱 설치 
  2. 앱 삭제.  참고! 앱을 설치한 후 즉시 삭제할 수 있습니다. 

Xcode나 TestFlight에서 앱 삭제를 테스트할 때, 토큰이 샌드박스 환경에서 생성되었을 경우, 이 사실을 앱스플라이어 SDK에 반드시 알리세요. 다음 API를 사용합니다.

AppsFlyerLib.shared().useUninstallSandbox = true
[AppsFlyerLib shared].setUseUninstallSandbox = true;

📘

참고

setUseUninstallSandbox must be called before calling registerUninstall.

고려 사항 

앱 삭제는 앱스플라이어 대시보드에 바로 반영되지 않습니다. Apple 푸시 알림 서비스로 인해:

  • 앱 삭제가 리포트에 반영되기까지 평균 9일이 소요됩니다.
  • 샌드박스 환경에서 iOS 앱 삭제가 발생했을 경우 리포트에 반영될 때까지 한 달 이상 소요될 수 있습니다.
  • 앱 삭제 일자는 앱 삭제가 보고된 일자입니다. 예시:
    • 제1일: 사용자가 앱 설치
    • 제4일: 사용자가 앱 삭제
    • 제12일: Apple 푸시 알림 서비스는 앱 삭제일로부터 8일 후에 앱 삭제를 보고합니다.
    • 제13일: 앱 삭제 데이터가 앱스플라이어 대시보드와 로데이터에 나타납니다.