web-dev-qa-db-ja.com

Android「hello world」プッシュ通知の例

Androidアプリケーションの開発は初めてで、少し勉強しています。私は、プッシュ通知(クラウドメッセージング)をWebサーバー(PHP)からAndroidアプリケーション(単なる「helloworld」)に送信するという難しいミッションに取り組んでいます。私はいくつかの「グーグル」をしましたが、私の疑問はほとんどありません

  1. Googleは「デバイスID」を使用して通知を送信していますか?
  2. 通知を受信するために、アウトマニフェストに許可を追加する以外に、アプリケーションに必要なコードはありますか?
  3. 通知を送信するには、ユーザーのデバイスIDを「ローカルデータベース」に登録する必要がありますか?

PHPサーバーから簡単な通知を送信するためのコードサンプルまたはドキュメントを見せてください。

前もって感謝します

45
ramesh

Firebase: https://firebase.google.com/docs/cloud-messaging/

GCM(非推奨): http://developer.Android.com/google/gcm/index.html

私はC2DMについてあまり知識がありません。 GCMを使用すると、実装と構成が非常に簡単です。

23
ravi roshan

Gcmの概要:Android電話からGoogleサーバーにリクエストを送信します。応答として登録IDを受け取ります。次に、モバイルに通知を送信するサーバーからこの登録IDを送信する必要があります。この登録IDを使用して、デバイスに通知を送信できます。

回答:

  1. 通知を送信するには、デバイスの登録IDを持つデータ(メッセージ)を https://Android.googleapis.com/gcm/send に送信します。 (phpでcurlを使用します)。
  2. 通知や登録などを受け取るために必要なのはそれだけです。
  3. サーバーだけでなくデバイスにも登録IDを保存する必要があります。 GCM.jarを使用する場合、登録IDは設定に保存されます。必要に応じて、ローカルデータベースにも保存できます。
25
Anirudha Agashe

更新2016:

GCMはFCMに置き換えられています

更新2015:

developers.Android.com -Google replacedC2DMwithGCMデモの実装/方法

更新2014:

1)Googleサーバーから取得しているHTTPレスポンスをサーバーで確認する必要があります。 200 OK応答であることを確認して、メッセージが送信されたことを確認します。別の応答(302など)を受け取った場合、メッセージは正常に送信されていません。

2)また、使用している登録IDが正しいことを確認する必要があります。 (メッセージの宛先として-特定のデバイスでアプリを指定して)間違った登録IDを指定すると、Googleサーバーはそれを正常に送信できません。

3)また、アプリがGoogleサーバーに正常に登録されていることを確認して、プッシュ通知を受信する必要があります。登録が失敗した場合、メッセージは受信されません。

最初の回答2014

ここにあなたがそれを見ておくべき良い質問があります: 自分のAndroidアプリにプッシュ通知を追加する方法

また、次の方法を備えた優れたブログもあります。 http://blog.serverdensity.com/Android-Push-notifications-tutorial/

17
DominikAngerer

このチュートリアルに従うことができます

http://www.androidbegin.com/tutorial/Android-google-cloud-messaging-gcm-tutorial/

プッシュ通知を行うのに役立ちました。または、この他のチュートリアルに従うことができます

http://www.tutorialeshtml5.com/2013/10/tutorial-simple-de-gcm-traves-de-php.html

スペイン語ですが、コードをダウンロードできます。

2
user3304530