2016-05-15 10 views
0

以前は複数のsenderIdに登録することは非常に簡単で簡単な方法でした。GCM:InstanceIdを使用した複数の送信者への登録

 final GoogleCloudMessaging instance = GoogleCloudMessaging.getInstance(context); 
     final String registrationId = instance.register(senderId1, senderId2); 

InstanceIdフローを使用して同じ手順を実行する方法が見つかりませんでした。試しました

   String token = instanceID.getToken("SENDER_ID1,SENDER_ID2,SENDER_ID3", GoogleCloudMessaging.INSTANCE_ID_SCOPE, null); 

しかし、動作しないようです。私は、各senderId(authorizedEntity)のgetToken()を登録することで、3つの異なるトークンを提供することができますが、目的は1つのregistrationIdしか持たないことです。私たちはsampleで行くとASでGoogleのサービスプラグインを使用する場合

はまた、唯一のGoogleのプロジェクト/クライアント情報を構成さ
グーグル-services.json」ファイルがあるように思われます。

これと関連がありますか?

答えて

0

あなたの問題の解決方法をインターネットで確認したところ、Multiple GCM senders in the same appにありますが、Googleでは複数のGCM送信者を1つのアプリでサポートしていますが、そのアカウントを考慮する必要があります。そうでない場合は、1人以上のGCM送信者がGCMインテントを送信できず、受信したGCMインテントがマニフェストのGCM受信者にランダムに送信されないことがあります。

これを行う最善の方法は、個々のライブラリに登録を実行させるのではなく、自分でGCM登録を処理することです。レイヤークライアントでgcm_defaultSenderIdまたはgoogleCloudMessagingSenderIdを使用することに注意してください。代わりに、各ライブラリの送信者IDをコンマで結合する必要があります。

これは、instanceIDを使用して複数のsenderIDを登録する方法のサンプルコードです。

これを可能にするには、各送信者に独自のプロジェクト番号を生成させるだけです。次に、登録を要求するときに、これらのIDをコンマで区切られた送信者フィールドに含めます。最後に、登録IDをパートナーと共有すると、独自の認証キーを使用してアプリケーションにメッセージを送信できます。

instanceIDの詳細については、pageを参照してください。

関連する問題