1

Android アプリケーションに GCM プッシュ通知を実装しようとしています。このリンクを参照して、Android アプリに GCM クライアントを実装しました。GCM クライアントには次のメソッドがあります。

/**
 * Sends the registration ID to your server over HTTP, so it can use GCM/HTTP or CCS to send
 * messages to your app. Not needed for this demo since the device sends upstream messages
 * to a server that echoes back the message using the 'from' address in the message.
 */
 private void sendRegistrationIdToBackend() 
 {
     // Your implementation here.
 }

登録 ID をバックエンドに保存する方法を見つけようとしていました。検索中に、このリンクを参照して、Google App Engine を使用してサーバー側コードをデプロイできることがわかりました。 私の知る限り、すべての Android アプリケーションでクライアントへのプッシュ通知を実装するには、すべての登録 ID のリストが必要です。以下は私の質問のいくつかです

  • すべての登録 ID を取得する簡単なメカニズムはありませんか?
  • GCM サーバーはすべての ID を保存していませんか?
  • すべての GCM サーバー アプリケーションは、登録 ID を格納する方法を実装する必要がありますか?
  • クライアントに更新を送信する際に、条件に関係なくすべての登録済みデバイスに更新を送信したい場合、それを行う方法はありませんか? すべてのアプリケーションでこの種のサービスが必要になると思います。これを達成できる一般的な方法はありませんか?または、何か不足していますか?
4

1 に答える 1

4
  • アプリをインストールしたデバイスのすべての登録 ID を取得する唯一の方法は、サーバーでそれらのデバイスの DB を維持することです。または、サード パーティのプロバイダー (UrbanAirship など) を使用してそれを行うこともできます。

  • GCM サーバーにはこれらすべての ID がありますが、特定のアプリのすべての登録済み登録 ID を返す API 呼び出しはありません。

  • GCM を使用する各アプリケーションには、登録済みデバイスのリストを維持し、デバイスにメッセージを送信するサーバー側が必要です。サードパーティのプッシュ プロバイダーを使用して、これを行うことができます。

  • 更新をすべての登録済みデバイスに送信する場合は、メッセージを送信するすべての登録 ID を指定する必要があります。すべてのデバイスが同じメッセージを受け取る場合、1 回の HTTP 要求で 1000 の登録 ID にメッセージを送信できます (1000 を超えるデバイスがある場合は、複数の要求を行う必要があります)。

于 2013-09-29T16:24:03.140 に答える