LoginSignup
25
25

More than 5 years have passed since last update.

Parse.comのプッシュ通知機能を使う方法

Posted at

「グロースハック(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の画面(下の画像)に表示されているものを使う。
parse-setting.png

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ボタンをクリック

parse-notify.png

次に、通知する内容を登録して、Send Notificationボタンをクリック。

parse-send-notification.png

実装も送信もめっちゃ簡単。

ただし、何に使うねんと言われてもよく分かりまへん。

25
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
25