iOSアンインストール計測の実装

概要:Appleのプッシュ通知サービス(APN)をアプリに実装することで、iOSアプリのアンインストール計測を設定してください。

iOSアンインストール計測

iOSのアンインストール計測はAPNをアプリに搭載することで可能になります。

注意事項:

  • APNは、ユーザーがアプリを削除すると、インストールから少なくとも8日が経過した場合にのみリアルタイムで報告します。つまり、iOSのアンインストールデータは8日目以降にしか利用できません。
  • プッシュ通知の権限を拒否しているユーザーに関しては計測できません。

iOSアプリの要件:

  • iOS 13以降
  • AppsFlyer SDK 4.10.4以降
  • p12 証明書。p8 証明書はサポートされていません。

実装の手順

次のセクションに従って、iOSアンインストールの設定、実装、計測テストを実施してください。

AppleでIDを取得しAppsFlyerでアンインストール計測を設定する

  1. アプリIDを見つける方法:
    1. Apple Developer Members Center にて、iOS Appsの下にある Identifiers をクリックして、アプリを確認してください。

      iOS_Apps_1.png

    2.  アプリIDをまだ登録していない場合は、+ をクリックしてフォームを完了してください。
    3. Push Notification(プッシュ通知)を選択してください。

      iOS_U_T_2.png

    4.  アプリケーションを展開すると、黄色または緑色のステータスアイコンが付いたプッシュ通知の設定が2つ表示されます。
    5. Settings(設定)をクリックしてください。
       注記:Settings (設定)ボタンは、プッシュ通知が以前設定済みの場合は、 Edit (編集)と表示される場合があります。Settings/Edit(設定/編集)ボタンを利用できない場合は、チームエージェントまたは管理者でないことが考えられます。デベロッパーアカウントを最初に作成したユーザーがチームエージェントであり、チームエージェントがこのセクションの残りの手順を実行できます。
  2. 証明書を生成する方法

    1. Production certificate(本番環境の証明書)オプションで、Apple Push Notification service SSL (Sandbox & Production)(Appleプッシュ通知サービスSSL(サンドボックス&本番環境)を選択してください。プッシュ通知に VoIP を使用している場合は、VoIP Services Certificate を選択してください。

    2. Production SSL Certificate オプションから、Create Certificateをクリックしてください。 

    3. Create Certificate(証明書の作成)をクリックした後、 Add iOS Certificate Assistant(iOS証明書追加アシスタント)が表示されます。アシスタントの指示に沿って操作し、Continue(続行)をクリックします。

    4. 先ほど作成したCertificate Signing(証明書の署名)リクエストを使用して、APNSプッシュSSL証明書を生成します。

    5. ダウンロードの準備が完了すると、Download(ダウンロード)ボタンが表示されます。これが更新されるには、ページを再度読み込む必要がある場合があります。新たに作成した証明書をダウンロードしてください。

    6. 証明書を開いてください。証明書を開くと、キーチェーンアクセスが開きます。キーチェーンアクセスの My Certificates(自分の証明書)に、ダウンロードした証明書が表示されます。証明書が表示されない場合は、Certificates(証明書)にあるかを確認してください。

      注意

      p12証明書をアップロードまたは変更できるのは、アカウントアドミンのみです。

      iOS_U_T_6.png

  3. 証明書を更新する方法
    開発用または本番環境用のプッシュSSL証明書を更新する場合は、前述の手順に従ってください。この変更を行うために、以前の証明書を失効させる必要はありません。新しい証明書をアップロードする間に古い証明書を使用し続けるために、2つの本番環境用の証明書を同時に使用できます。注記!開発用の証明書は本番環境で使用しないでください。
  4. P12ファイルをエクスポートする方法:
    AppsFlyer管理画面に戻る前の最後の手順として、署名する証明書を.p12ファイルとして保存します。
    1. キーチェーンアクセスに先ほど追加した証明書を選択してください

    2. File(ファイル)> Export Items(アイテムのエクスポート)に移動します。

    3. 左下のCategory(カテゴリ)メニューで My Certificates を選択します。

      My Certificates がハイライト表示されていない場合は、証明書を .p12ファイルとしてエクスポートできません。

      iOS_U_T_7.png

      ファイルを保存する際に、Personal Information Exchange (.p12)形式を使用してください。

      Apple Push Servicesと記載され、次のように表示されていることを確認してください。

      Apple_Push_Services__1_.png

  5. AppsFlyerでアンインストール計測を設定する方法

    1. AppsFlyerにて、設定 > アプリ設定へ移動します。

    2. アンインストールセクションまでスクロールダウンしてください。

    3. アンインストール計測を有効にしてください。

      Uninstall_iOS_p2.png

    4. アップロードアイコンをクリックし、アップロードするP12ファイルを選択してください。

    5. (オプション)P12証明書がパスワードで保護されている場合、P12証明書のパスワードセクションにパスワードを入力してください。

    6. 検証するをクリックして、有効であることを確認するために証明書をAppsFlyerに送信します。

    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)
  }

上記のコードスニペットは、ユーザーにプッシュ通知を送信する権限をリクエストします。ただし、アンインストールの測定にプッシュ通知をバックグラウンドモードでのみ使用している場合は、ユーザーの承認を求める必要はありません。これらのプッシュ通知がサイレントプッシュ通知しているので、ユーザーからの許可を求める必要がありません

バックグラウンドモードでのプッシュ通知のユーザー権限

サイレントプッシュ通知のみを使用している場合は、アプリのCapabilitiesバックグラウンドモードリモート通知を必ず有効にしてください。

  1. XCodeでプロジェクトを選択します
  2. ターゲットを選択してください
  3. Capabilities(機能)タブに切り替えてください
  4. Background Modes をオンにしてください
  5. Remote notificationsにチェックを入れてください

    remote_notifications_xcode.png

プッシュ通知の計測

XCode capabilities(XCode機能)タブに必ずプッシュ通知を追加します。これを追加しない場合、deviceTokenが 収集されません。

capabilities_ios_uninstall.png

iOSアンインストール計測のテスト

iOSアンインストール計測のテスト方法:
  1. アプリをインストールします。
  2. アプリをアンインストールします。 注!アプリをインストールした直後にアンインストールできます。

Xcodeまたは TestFlight からアンインストールテストをする場合は、トークンがサンドボックス環境から生成されていることをSDKに知らせることが重要です。次のAPIを使用します。

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

注意!アンインストールはAppsFlyer管理画面には即座に表示されません。

  • アンインストールがレポートに表示されるまでに平均9日かかります。
  • サンドボックス環境から発生したアンインストールがレポートに表示されるには、 1 か月以上かかる場合もあります

また、アンインストールの日付は、 アンインストールが報告された日付です 。詳しくは、以下のセクションをご覧ください。

AppsFlyer管理画面でアンインストールデータを確認する

アンインストール計測は、集約されたパフォーマンステーブルのメインダッシュボードに表示されます。

Appleプッシュ通知サービスの直近の変更により、アンインストールがダッシュボードに表示されるまでに最低9日かかります。 AppsFlyerは、24時間ごとのアンインストールのメトリックを更新および集計します

 例

  • 1日目:ユーザーがアプリをインストールします
  • 4日目:ユーザーがアプリをアンインストールします
  • 12日目:アンインストールから8日後にApple Push Notification Service がアプリの削除をレポートします
  • 13日目:AppsFlyer管理画面とローデータにアンインストールデータが表示されます

Uninstall_measurement_a.png

詳細については、SDK統合ガイドの iOSアプリのアンインストール計測を参照してください。

この記事は役に立ちましたか?