2012-10-09 10 views
8
  1. 私はCanonical Registration Idを理解してGoogleに返すことに問題があります。私は故意に2度(Canonical Registration Idをテストするために)私のAndroidアプリを登録しましたが、私はRegistration Idsの両方にメッセージをプッシュしようとすると、私はGoogleからの返品を受け取りませんCanonical Registration Id正式登録IDとメッセージIDの形式

  2. さらに、私はGoogleが返すメッセージIDの形式を知りたいと思います。ログには、それは3つの部分、<something>:<something2>%<something3>で構成されているようです。彼らが何を意味するのか? 3番目の部分はデバイスを識別しますか?

    [INFO com.bipper.filters.PushUpdatesFilter] [イベントID = 0:1349819220154718% 921c249a6e2555b5] [INFO com.bipper.filters.PushUpdatesFilter] [イベントID = 0:1349819220242456% 921c249a6e2555b5]

答えて

21

  1. 初期状態:アプリケーションがAndroid搭載端末にインストールされ、GCMに登録されています。送信者サーバーは登録IDを持ち、そのデバイスにメッセージを送信します。

  2. アプリケーションをアンインストールします。

  3. 元の(古い)登録IDに2つのメッセージを送信します。最初は動作するように見えます(サーバーはGCMサーバーから正常に応答を受信します)。 2回目の試行では、 "NotRegistered"エラーが発生します。

  4. アプリケーションを再インストールし、GCMに登録します。デバイスは新しい登録IDを取得します。

  5. 古い登録IDを使用してメッセージを送信します。アプリケーションはメッセージを受信しますが、サーバーは新しい登録IDを正規の登録IDとして返信します。

+0

これは奇妙な、気になるgoogleです。 –

+0

私の場合は動作しません。古いアプリケーション 'reg_id'と再インストールされたアプリケーション 'reg_id'にメッセージを送信しましたが、古いアプリケーションのGCMは{error: 'NotRegistered'}と 'canonical_ids:0、canonical_idsなぜ私のために働いていないのか教えていただけますか? –