Androidでサーバーからのアプリへのプッシュ通知を実装する方法を解説します。
WEB上の情報だけではアプリが正常に動かなかったのと、解りづらかったので、アプリの挙動とソースをメインに解説していきます。
大まかな流れとしては
○GoogleAPIのコンソールで[プロジェクトID][API key]を取得する
○アプリを作り、アプリから[レジストレーションID]を取得する
○サーバーからアプリへ通知する
という3つの柱になります。
○GoogleAPIのコンソールで[プロジェクトID][API key]を取得する
こちらについては、下記のサイトを参考になさってください。
この記事の、<< 事前準備 >>と書かれた部分を手順通り行っていくと、プロジェクトIDとAPI keyを取得できるはずです。
確認の仕方は下記を参照してください。
[プロジェクトID]
プロジェクトのトップページのどこかに「Project Number: ○○○○○○○○○○○○ 」という表記があり、それがプロジェクトIDになります。または、APIコンソールのURLの一部に「project:○○○○○○○○○○○○」という文字列が含まれており、そちらでも確認できます。
[API key]
古いコンソールだと記事の通りの場所に、新しいコンソール画面であれば、左メニューの「APIs & auth」から「Registered apps」をクリックして、該当のappを選択すると表示されます。
○アプリを作り、アプリから[レジストレーションID]を取得する
次回記事を参照
○サーバーからアプリへ通知する
こちらについては、下記のサイトを参考になさってください。
GCMを使用してAndroid-PHPでPUSH通知を実装する [Google Play services対応]
基本的には、アプリからサーバーに送られてきた情報(レジストレーションID+その他)をDBに保存して、API keyとレジストレーションIDをセットにしてPUSH通知要求をGCMサーバーに送信します。
上記の記事では、アプリからレジストレーションIDのみを受け取っていますが、他の情報を受け取り、phpファイル内でその情報をもとにした判別処理を組み込み、ユーザーによって通知するメッセージを変更する、みたいな動作も可能です。
Pingback: Androidアプリでアラーム通知をする その1