プッシュ通知の開封数(プッシュ通知からの起動数)を計測するには?(Android)
プッシュ通知の開封数(プッシュ通知からの起動数)を計測するには?(iOS)にて、iOSにおけるプッシュ通知からの開封率を計測するサンプルコードを記述しましたが、Androidにおけるサンプルコードも記述したいと思います。
・AndroidはiOSとは違い、起動時にプッシュ通知から開かれたかどうかが分からないのでこちらを自前で実装する形になります。
・「アラートから開かれた場合」、「お知らせ一覧から開かれた場合」、それぞれの場合分けをしてtrackEventを送信する必要があります。
以下に実装の手順をまとめました。
GrowthPush.getInstance().setReceiveHandler(new DefaultReceiveHandler(new DefaultReceiveHandler.Callback() { @Override public void onOpen(Context context, Intent intent) { super.onOpen(context, intent); GrowthPush.getInstance().trackEvent("Launch via push notification"); } }));
起動時のApplicationクラスのonCreate()内で、GrowthPushの初期化処理を実装した後に、上記を実装してください。 初期化処理がない場合や、Activityにセットしますと、プロセスがない場合に正しく動作いたしません。
上記の実装では、「Launch via push notification」はどのプッシュ通知を開封しても計測されます。プッシュ通知毎の開封数を厳密に計測したい場合は、通知毎にユニークなイベントを発行する必要があります。
ユニークなイベントに使うIDとして、通知IDを使うことができます。通知IDはカスタムフィールドを利用して受け取ることができます。カスタムフィールドの利用方法は下記を参照してください。