「グロースハック(growth hack)」とかいう流行りつつある単語に乗せられて、プッシュ通知(Push Notification)を使ってみようと思い立ち、この間Facebookに買収されたBaaS(Backend as a Service)のParse.comが提供するプッシュ通知機能を、自作クソゲー「ギリジャン!」に乗せてみたのでそのメモ。
というか、公式ドキュメントの必要部分を抜粋しての和訳。
なお、既にParse.comにアプリの登録をしてることを前提としています。
##【実装編】
###■AndroidManifest.xml
####1.サービス
<service android:name="com.parse.PushService" />
<receiver android:name="com.parse.ParseBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
####2.パーミッション
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
###■Activityクラス
####1.初期化
onCreateメソッドに以下のコード。
Parse.initialize(this, "アプリID", "クライアントキー");
アプリIDもクライアントキーもParse.comの画面(下の画像)に表示されているものを使う。
####2.通知を受信する部分の実装
onCreateメソッドに以下のコード。
PushService.setDefaultPushCallback(this, XxxxActivity.class);
ParseInstallation.getCurrentInstallation().saveInBackground();
「XxxxActivity.class」には、端末上に表示された通知をクリックしたときに表示させたいActivityクラスを書く。
普通はアプリの初期画面のActivity。
オファーウォールみたいな広告表示専用のActivityだと邪悪。うざい。
あと、インストール時に、アプリ名(言語によってアプリ名が違う場合はその言語に応じたアプリ名)とかアプリのバージョンとかタイムゾーンがParse.comに送信されるけど、それ以外にも情報がほしければ実装可能。
今回は試しに実装しただけなので省略。
####3.トラッキングの実装
onCreateメソッドに以下のコード。
ParseAnalytics.trackAppOpened(getIntent());
通知からアプリが開かれたかどうかをトラッキングしたければ書く。
(普通はトラッキングしたいはず。)
##【送信編】
実装できたら、あとはParse.comの管理画面から通知をするだけ。
まず、通知するページにアクセスして、Send a pushボタンをクリック
次に、通知する内容を登録して、Send Notificationボタンをクリック。
実装も送信もめっちゃ簡単。
ただし、何に使うねんと言われてもよく分かりまへん。