1

私はGCMで探索を始めています。以下のことを明確にしてください。

SenderID (プロジェクト ID は Google API コンソールから取得) を使用して GCM サーバーに登録することにより、異なるデバイスは一意の登録 ID を提供します。次のコードを使用して、登録 ID を deviceid として devicelist に追加することにより、サーバーからすべてのデバイスにメッセージを送信しました。logcat にログインして、デバイスの登録 ID を取得しました。

        Sender sender = new Sender("MY_API_KEY");



            Message message = new Message.Builder().collapseKey("1")
                    .timeToLive(3)
                    .delayWhileIdle(true)
                    .addData("message",
                      "this text will be seen in notification bar!!")
                    .build();

       MulticastResult result; 

ArrayList<String> devicesList = new ArrayList<String>();
             devicesList.add(deviceid1);

             devicesList.add(deviceid2);

            result = sender.send(message, devicesList, 1);

上記のようなメッセージを送信するのは正しい方法ですか?

その場合、特定のアプリケーションのリリース後に機能するコードをどのように設計できますか? リリース後にすべてのデバイスの登録 ID を取得するにはどうすればよいですか?

4

1 に答える 1

2

サーバーは、デバイスからのすべての登録 ID を追跡する必要があります。したがって、これらの登録 ID を格納するデータベース テーブルが必要です。次に、Web サービス、またはクライアントが登録 ID をアップロードするための HTTP POST エントリ ポイントを公開する必要があります。

デバイスが Google GCM サーバーに正常に登録されると、GCMBaseIntentService の onRegistered() コールバック メソッドで登録 ID を受け取ります。これは、登録 ID をサーバーにアップロードする場所です。

于 2012-10-17T21:16:37.060 に答える