プッシュ通知の開封数(プッシュ通知からの起動数)を計測するには?(iOS)

下記の実装を参考に、プッシュ通知の「開封数」を計測してください。

UIApplicationDelegeteのapplication:didFinishLaunchingWithOptions:メソッドの中に

- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // ...(略)...
    if ([launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]) {
        [GrowthPush trackEvent:@"Launch via push notification"];
    }
    // ...(略)...
    return YES;
}

と書くことで、「Launch via push notification」というイベントとして、単なるアプリ起動ではなくプッシュ通知から起動した場合、つまり開封数を計測していくことができます。

また、iOSではアプリプロセスが残っている場合は、applciation:didReceiveRemoteNotification:メソッドに入りますので、ここでも計測するようにします。

- (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
    if (application.applicationState != UIApplicationStateActive) {
        [GrowthPush trackEvent:@"Launch via push notification"];
    }
    // ...(略)...
}

上記の実装では、「Launch via push notification」はどのプッシュ通知を開封しても計測されます。プッシュ通知毎の開封数を厳密に計測したい場合は、通知毎にユニークなイベントを発行する必要があります。

ユニークなイベントに使うIDとして、通知IDを使うことができます。通知IDはカスタムフィールドを利用して受け取ることができます。カスタムフィールドの利用方法は下記を参照してください。

カスタムフィールドに通知IDを追加とは