サンプルを動かす。C2DMより簡単になっているような。
サードパーティサーバ内はPHPで簡単に処理してしまいます。
なんか、Googleのドキュメントてわかりづれえなあ。
GoogleAPIで利用ユーザー登録をする
API_KEY と SENDER_ID を入手します。
わかりやすくまとめられています。
GCM(Google Cloud Messaging for Android)をとりあえず使ってみる - 2hours
Androidアプリのデモをつくる
SDK内サンプルの gcm-demo-client を少し編集します。
ライブラリにパス合わせたりとかドキュメントにかいてたけど、サンプルインポートと以下の編集のみでいけるようです。
2. SENDER_ID を埋め込む。
3. 今回は登録・解除を確認するのでそれらのメニューを有効化する。
4. 受信したメッセージを表示する。
デモサーバにスクリプトを設置する
かんたんにつくります。
PHPスクリプトたちは、
http://your-hostaname/gcm/***.php
でアクセスできる位置に置くことにします。
登録アクセス時に、register.txt に registration_id を保存するので、書き込み権限をば。
/var/www/html/gcm/ |-- register.php (登録) |-- sender.php (送信) |-- unregister.php (登録解除) `-- register.txt(registration_idを保存。スクリプトから書き出される。)
1. 登録 (register.php)
Androidから registeration_id がPOSTされてくるのをサーバ内に保存する。
ここでは、単純に受けてファイルに書き出すだけだけども、登録前処理からのDBへ、となるのだろうし。
2. メッセージ送信 (sender.php)
保存した registration_id と API_KEY を利用してGoogleサーバにメッセージを送ります。
アプリから、1のスクリプトで端末登録後、このスクリプトを実行することで、
GCMサーバにアプリに向けての送信を依頼します。
3. 登録解除 (unregister.php)
登録時にAndroidからPOSTされてサーバー内に保存されている registration_id を削除するだけ、とりあえず。
Androidアプリ、サーバアプリともいろいろもっと手を入れないと実際は使えないのだとは思うけども、とりあえずは動かそうと進む。
動かしてみる
1. Androidアプリを起動して、メニューから 登録を行う。
GCMサーバとあなたのスクリプトを設置したサーバに登録を行います。
2. パソコンなどブラウザから 送信スクリプトを実行する。
http://your-hostname/gcm/sender.php
にアクセスしてGCMサーバへメッセージの送信を行います。
なんかうまくいかない場合は、レスポンスヘッダ、ボディを確認してみればよいです。
わりと親切にレスポンスが返ってきたりします。
3. Android上に GCMサーバーからメッセージを受信!!
サーバに設置したスクリプト内の
「こんにちは GCM!!」
がAndroidアプリ上に受信されて表示されます。
4. Androidアプリから登録解除を行う。
一応、解除なども。
メッセージのPUSH送信をAndroidアプリから行うとか
今回のデモサーバー内の送信スクリプトでは、registration_id と API_KEY を使ってGoogleサーバにPOSTをしている。
とか考えてたら、すでにこんなの、すばやいw。
Google Cloud Messaging for Android で、サーバ側をAndroidにしてみた — Gist
インターネットを経由してのリモートからのAndroid端末への
メッセージなどのプッシュ機能は、いろんなことができるので
やってみると楽しいと思ったりします。
いくつか制限があったとしても、なんせ無料ですから!!
Google Cloud Messaging for Android | Android Developers
関連ワード: Android・Google・WEB・これはすごい・アプリ・ツール・ニュース・開発・c2dm・curl・GCM・gcm-demo-client・PHP・サンプル・デモ