(2014/04/23時点)
・【AndroidでParse.comからプッシュ通知をする方法(eclipse作業編)】
AndroidでParse.comからプッシュ通知をする方法をメモ。
プッシュ通知を行うためには以下2つの作業が必要となる。
・Parse.comでの登録作業(webサイト) ←ココの説明はこちらから
・Androidアプリのプログラム変更(eclipse) ←今回はココの説明
今回はeclipseでの作業について記載する。
eclipseでの作業を簡単にまとめると以下の通り。
①新規プロジェクトを作成する
②Prase.comのサイトからParse.jarを取得する
③取得したjarをプロジェクトに入れる
④AndroidManifest.xmlを変更する
⑤メインクラスのonCreateメソッド内を変更する
■eclipseでの作業
①新規プロジェクトを作成する
まずは新規にプロジェクトを作成する。(androidSDK等のインストールは完了している前提で説明を記載します)
eclipseを開き[ファイル]-[新規]-[ Androidアプリケーション・プロジェクト ]を選択
「アプリケーション名」「プロジェクト名」を入力し、「 次へ 」を選択
以降のページでは任意に内容を選択し「完了」ボタンが出てくるまで「 次へ 」へボタンを押下し、「 完了 」ボタンが出てきたら押下する。
・
(途中のページ省略)
・
・
これでプロジェクトの作成は完了。
eclipse上に↓こんなプロジェクトが作成されているはず・・・・。
②Prase.comのサイトからParse.jarを取得する
次にParseと連携する上で必要になるjarをParseのサイトから取得する。
Parseのサイトへログインを行い以下の場所からjarを取得する。
※ダウンロードしたzipを解凍すると中に「Parse-1.4.3.jar」が入っているため、それを使用する。
③取得したjarをプロジェクトに入れる
取得したjarはそのままでは使用できないためeclipseで作成したプロジェクトのlibsの中に入れビルドの指定を行う。
プロジェクト上で[右クリック]-[ビルド・パス]-[ ビルド・パスの構成 ]を選択
[ライブラリ]タブより「jar追加」を選択し「 OK ]を押下
④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>
<receiver android:name="com.parse.GcmBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.example.test" />
</intent-filter>
</receiver>
上記で注意すべきなのが、自分のプロジェクトによって変更するべき箇所が存在すること。
記述の中に存在する<category>タグの中は自分のプロジェクトのパッケージ名に変更すること。
<category android:name="com.example.test" />
(2)プッシュ通知処理で必要な権限付与を記述する。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission android:protectionLevel="signature"
android:name="com.example.test.permission.C2D_MESSAGE" />
<uses-permission android:name="com.example.test.permission.C2D_MESSAGE" />
上記でも(1)と同じように以下の2箇所の記述を変更する。
<permission android:protectionLevel="signature"
android:name="com.example.test.permission.C2D_MESSAGE" />
<uses-permission android:name="com.example.test.permission.C2D_MESSAGE" />
上記の記載は「パッケージ名 + .permission.C2D_MESSAGE」を指定する。
== 完成形は以下の通り。==
青文字の部分は自分のプロジェクトに合わせて変更したパッケージ名。
⑤メインクラスのonCreateメソッド内を変更する
メインクラス(Activity)内にあるonCreate()メソッド内に以下を記述する。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//追加箇所(1)
Parse.initialize(this, "アプリケーションIDを入れる", "クライアントIDを入れる");
//追加箇所(2)
PushService.setDefaultPushCallback(this, MainActivity.class);
ParseInstallation.getCurrentInstallation().saveEventually();
}
追記箇所(1)のParse.initialize()の中には(Parse.com作業編)で確認したそれぞれのIDを記述する。
これで、一度アプリを起動後にParse.comのサイトからプッシュ通知が送付できるようになる。
-----------------------------------------------------------------------------
・Parseからのプッシュ通知送信はココ。
-----------------------------------------------------------------------------
参考まで。
【関連】
・AndroidでParse.comからプッシュ通知をする方法(Parse.com作業編)
・Parseからプッシュ通知でAndroidアプリにjsonデータを送る
・Parseからプッシュ通知された時のNotification Icon(ノーティフィケーションアイコン)の変更方法