iOS 앱 삭제 측정을 앱으로 통합

요약: 앱에서 Apple 푸시 알림 서비스(APN)를 연동하여 iOS 엡애서 앱 삭제 측정을 설정합니다.

iOS 앱 삭제 측정

iOS 앱 삭제 측정은 앱에서 APN을 이용하여 사용할 수 있습니다.

고려 사항 

  • 애플 푸시 알림 서비스는 앱 설치 후 최소 8일이 지난 경우에만 사용자 앱 삭제에 대해 실시간으로 보고합니다. 즉, iOS 앱 삭제 데이터는 앱 설치 이후 8일 후에만 사용 가능합니다.
  • 측정은 푸시 알림을 거부하는 사용자에게는 사용할 수 없습니다.

iOS 앱 요구 사항:

  • iOS 13 이상
  • 앱스플라이어 SDK 4.10.4 이상
  • P12 인증서 P8 인증서는 지원하지 않습니다. 

통합 절차

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

Apple의 ID 가져오기 및 앱스플라이어에서 앱 삭제 측정

  1. 앱 ID를 찾는 방법:
    1. Apple 개발자 센터에서, iOS 앱 아래의 식별자 를 클릭하여 앱을 찾습니다. 

      iOS_Apps_1.png

    2.  앱 ID를 아직 등록하지 않은 경우 +를 클릭하여 양식을 완성하십시오.
    3. 푸시 알림을 선택합니다.

      iOS_U_T_2.png

    4.  애플리케이션을 확장하면, 노란색 또는 녹색 상태 아이콘이 있는 푸시 알림 설정 두 개가 있습니다.
    5. 설정을 클릭합니다.
       참고 이전에 푸시 알림을 구성한 경우 설정 버튼의 표제가 편집으로 지정될 수 있습니다. 설정/편집 버튼이 보이지 않으면 팀 에이전트 또는 관리자 권한이 없는 경우일 수 있습니다. 개발자 계정을 처음 생성한 사람이 팀 에이전트이며, 팀 에이전트가 이 섹션의 나머지 절차를 수행해야 합니다.
  2. 인증서 생성 방법:

    1. 제품 인증서 옵션에서 Apple 푸시 알림 서비스 SSL(샌드박스 및 프로덕션)을 선택합니다. 푸시 알림에 VoIP를 사용하는 경우 VoIP 서비스 인증서를 선택하십시오.

    2. 프로덕션 SSL 인증서 옵션에서 인증서 생성을 클릭합니다. 

    3. 인증서 생성을 클릭한 후에, iOS 인증서 어시스턴트 추가를 확인합니다. 어시스턴트의 안내에 따라 계속하기를 클릭합니다.

    4. 방금 생성된 Certificate Signing(인증서 서명) 요청을 이용하여 APNS 푸시 SSL 인증서를 생성합니다.

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

    6. 인증서를 엽니다. 인증서를 열면 Keychain Access(키체인 액세스)가 열립니다. 키체인 액세스에서 인증서는 My Certificates(본인 인증서) 아래에 표시됩니다. 만약 인증서가 없다면, 인증서에서 해당 인증서가 있는지 확인합니다.

      참고

      계정 관리자만이 p12인증서를 업로드하고 변경할 수 있습니다.

      iOS_U_T_6.png

  3. 인증서 갱신 방법
    개발용 혹은 프로덕션용 푸시 SSL 인증서를 갱신하는 경우는 위에서 언급된 단계를 따릅니다. 변경사항을 적용하기 위해 이전 인증서를 취소할 필요는 없습니다. 두 개의 프로덕션 인증서를 동시에 사용할 수 있으므로 새 인증서를 업로드하는 동안 이전 인증서를 계속 사용할 수 있습니다. 참고! 프로덕션 환경에서 개발용 인증서를 사용하지 마십시오. 
  4. P12 파일을 내보내는 방법:
    앱스플라이어 대시보드로 돌아가기 전에 해야 할 마지막 단계는 서명한 인증서를 .p12 파일 형식으로 저장하는 것입니다.
    1. 키체인 액세스에 방금 추가된 인증서를 선택합니다.

    2. File(파일) > Export Items(항목 내보내기)로 이동합니다.

    3. 왼쪽 하단의 Category(카테고리) 메뉴에서 My Certificates(내 인증서)를 선택합니다.

      만약 My Certificates가 강조 표시되지 않으면, 인증서를 .p12 파일로 내보낼 수 것입니다없습니다.

      iOS_U_T_7.png

      파일을 저장할 때는 개인 정보 교환 (.p12) 포맷을 사용하십시오.

      이때 Apple 푸쉬 서비스가 다음과 같이 표시되는지 확인합니다.

      Apple_Push_Services__1_.png

  5. 앱스플라이어에서 앱 삭제 측정 구성 방법

    1. 앱스플라이어에서 설정 < 앱 설정으로 이동합니다.

    2. 아래로 스크롤하여 앱 삭제 섹션으로 이동합니다.

    3. 앱 삭제 측정을 켭니다.

      Uninstall_iOS_p2.png

    4. 업로드 아이콘을 클릭하고 업로드할 P12 파일을 선택합니다.

    5. (선택 사항) P12 인증서가 비밀번호로 보호된 경우, P12 인증서 비밀번호 부분에 비밀번호를 입력합니다. 

    6. 검증 버튼을 클릭하여 인증서를 앱스플라이어에 전송하고, 유효한지 확인합니다.

    7. 설정 저장을 클릭합니다.

SDK와 연동

푸시 알림은 앱 삭제 데이터 수집을 할 수 있도록 앱의 코드 레벨에서 등록되어야 합니다.

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

	//add UserNotifications.framework
	import UserNotifications
	func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    //...
    // iOS 10 support
    if #available(iOS 10, *) {
      UNUserNotificationCenter.current().requestAuthorization(options:[.badge, .alert, .sound]){ (granted, error) in }
      application.registerForRemoteNotifications()
    }
    // iOS 9 and iOS 8 support
    else if #available(iOS 8, *), #available(iOS 9, *) {
      UIApplication.shared.registerUserNotificationSettings(UIUserNotificationSettings(types: [.badge, .sound, .alert], categories: nil))
      UIApplication.shared.registerForRemoteNotifications()
    }

    // iOS 7 support
    else {
      application.registerForRemoteNotifications(matching: [.badge, .sound, .alert])
    }
    
    return true
  }

 // Called when the application sucessfuly registers for push notifications
  func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    AppsFlyerLib.shared().registerUninstall(deviceToken)
  }

위의 코드 스니펫은 사용자에게 푸시 알림 전송 권한을 요청합니다. 그러나 푸시 알림을 백그라운드 모드에서 사용하여 앱 삭제 측정만 하는 경우, 사용자 승인을 요청할 필요가 없습니다. 왜냐하면 이때의 푸시 알림은 사일런트 푸시 알림(silent push notification)이기 때문에, 사용자로부터 권한을 요청할 필요가 없습니다.

백그라운드 모드에서 푸시 알림에 대한 사용자 권한 

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

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

    remote_notifications_xcode.png

푸시 알림

XCode Capabilities 탭에서 푸시 알림이 추가되었는지 확인합니다. 푸시 알림이 없으면 deviceToken을 확보할 수 없습니다.

capabilities_ios_uninstall.png

iOS 앱 삭제 테스트

iOS 앱 삭제 측정 테스트하기
  1. 앱 설치 
  2. 앱 삭제.  참고: 앱을 설치한 후 즉시 삭제할 수 있습니다. 

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

SwiftObjective-C
AppsFlyerLib.shared().setUseUninstallSandbox = true

중요: 앱 삭제는 앱스플라이어 대시보드에 바로 반영되지 않습니다.

  • 앱 삭제가 리포트에 반영되기까지 평균 9일이 소요됩니다.
  • 샌드박스 환경에서 앱 삭제가 발생했을 경우 리포트에 반영될 때까지 한 달 이상 소요될 수 있습니다.

앱 삭제 일자는 앱 삭제가 보고된 일자입니다. 자세한 내용은 다음 섹션을 참고하세요.

앱스플라이어 대시보드에서 앱 삭제 데이터 열람

측정된 앱 삭제 수치는 메인 대시보드의 종합 성과 리포트에 표시됩니다.

애플 푸시 알림 서비스의 최근 변경내용으로 인해, 앱 삭제 수치가 대시보드에 표시될 때까지는 최소 9일이 소요됩니다. 앱스플라이어는 매 24시간마다 앱 삭제 지표를 집계하고 업데이트합니다.

 예

  • 제1일: 사용자가 앱 설치
  • 제4일: 사용자가 앱 삭제
  • 제12일: Apple 푸시 알림 서비스는 앱 삭제일로부터 8일 후에 앱 삭제를 보고합니다.
  • 제13일: 앱 삭제 데이터가 앱스플라이어 대시보드와 로데이터에 나타납니다.

Uninstall_measurement_a.png

더 자세한 내용은 SDK 연동 가이드의 iOS 앱 삭제 측정 섹션을 참조하십시오.

도움이 되었습니까?