0

通知をフェッチしてプッシュしようとしています(データソースが変更/更新されたため、データソースに接続するようにデバイスに通知します)

私はそれについて多くのチュートリアルを読み、私の場合に役立つようにそれを適用しようとしましたが、実際にはGCMの仕組みを理解する上でいくつかの問題に直面しました

https://code.google.com/apis/consoleで登録し、SENDERIDAPIKEYを取得しました

今私はいくつかの質問があります:

  1. アプリケーションを起動するたびに、または初めてデバイスをサービスに登録しますか?

  2. GCMを使用するのは(デバイスに何かが発生したことを通知するだけ)ですか、それとも(何が変更されたかについての情報を通知して取得する)ためですか?

  3. なぜこの操作が必要なのか(クライアントとサーバー)つまり(クライアント)プッシュ通知を受信するので大丈夫ですが、(サーバーここでの意味):( 、、ここのサーバーはGoogleitselfになると思うのでデバイスに通知する

  4. この場合、APIKEYを使用します

アイデアは:

私は自分のWebサイトにSQLServerデータベースを持っており、いずれかのユーザーがデータベースにレコードを追加して他のユーザーに通知するときに2人のユーザーが必要とする小さなAndroidアプリケーション(Dealing With it)を持っています

前もって感謝します 、、

よろしく:)


4

1 に答える 1

1

1) 必要な場合にのみ GCM に登録します。例:あなたが電話するとき

GCMRegistrar.getRegistrationId(appContext);

そして、空の文字列を返します。通常、これはアプリを初めて起動したときに発生します。

2) 対象のデータが何であるか、および 4K ペイロードの制限内に収まるかどうかによって異なります。Send-to-Sync と Payload を使用したメッセージのGoogle ヘルプ トピックをご覧ください。

3) サーバーは、メッセージを GCM サーバーに送信するサーバーです。その後、GCM サーバーはメッセージをアプリに送信します。私が作成を支援したサービスについて書いたこのブログ投稿を見てください: http://blog.andromo.com/2012/how-does-airbop-push-messaging-work/これがどのように機能するかを説明するのに役立つはずです。説明では、当社のサーバーを独自のサーバーに置き換えることができます。

4) API キーをメッセージの一部として GCM サーバーに送信します。詳しくはhttp://developer.android.com/google/gcm/gcm.html#requestをご覧ください。

したがって、次のリクエストでは:

Content-Type:application/json
Authorization:key=AIzaSyB-1uEai2WiUapxCs2Q0GZYzPu7Udno5aA

{
  "registration_ids" : ["APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx..."],
  "data" : {
    ...
  },
}

承認: key=YOUR_API_KEY

于 2012-12-12T21:52:31.983 に答える