Note
アプリのアンインストールトラッキングはAirbridge iOS SDK
v1.13.0以降のバージョンから利用できます。
Airbridge SDKのアンインストールトラッキング機能は、サイレントプッシュ通知を活用して実装されます。この機能を使うためには、アプリでサイレントプッシュ通知が動作するようにApp Identifierの設定及びCapabilitiesの追加、そしてサイレントプッシュ通知をアプリで受信した時、アンインストールトラッキングのための通知なら無視するというコードの追加が必要になります。
1. https://developer.apple.com/account/resources のIdentifiersに移動してください。
2. アンインストールをトラッキングしたいアプリのIdentifierをクリックし、Push Notificationsをチェックしてください。
1. https://developer.apple.com/account/resources のKeysに移動してください。
2. 使うキーを編集し、Apple Push Notification serviceをチェックしてください。
使っているキーがない場合、+ボタンをクリックして新たに生成し、p8をダウンロードしてください。
https://developer.apple.com/account/resources のIdentifiersに移動してください。
アンインストールをトラッキングしたいアプリのIdentifierをクリックしてください。
そのアプリのApp ID PrefixとBundle IDを確認できます。
https://developer.apple.com/account/resources のKeysに移動してください。
使っているKeyをクリックしてください。
そのキーのKey IDとp8を確認できます。
p8はキーを初めて生成する時のみダウンロードできます。
Xcode > Projectファイル > Signing & Capabilitiesに移動してください。
+ Capabilityのボタンをクリックしてください。
Background Modesと Push Notificationsを追加してください。
Background Modesの Remote notificationsをチェックしてください。
アプリが起動する時、プッシュ通知を使っていなかった場合、registerForRemoteNotificationsの関数を呼び出してください。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool{ ... UIApplication.shared.registerForRemoteNotifications() ...}- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [UIApplication.sharedApplication registerForRemoteNotifications]; return YES;}APNSプッシュトークンが生成されたら、そのトークンをregisterPushTokenの関数を呼び出してSDKに渡してください。
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data){ AirBridge.registerPushToken(deviceToken)}- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { [AirBridge registerPushToken:deviceToken];}アンインストールトラッキング用のサイレントプッシュ通知を受信した時、その通知を無視するよう、以下のように設定してください。
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void){ if userInfo["airbridge-uninstall-tracking"] as? Bool == true { return; } ...}- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { if ([userInfo[@"airbridge-uninstall-tracking"] boolValue] == YES) { return; } ...}MorpheusプッシュSDKトラブルシューティングガイド: 追って提供する予定です。
このページは役に立ちましたか?