3

GCMサーバーが登録IDを更新する頻度。携帯電話でregId変更イベントを取得する方法が変更された場合はどうなりますか?

私のアプリケーションは、最初の起動時にGCMに登録し、regIdIDをSahredPreferenceファイルに保存します。次に、共有設定からregIdを取得し、ユーザーが手動でイベントを実行したときにサーバーに送信します。

私の問題は、GCMサーバーで更新されたregIdを見つける方法です。次に、サーバー上で更新するイベントを作成して登録IDを更新できるのは私だけです。

4

3 に答える 3

1

GCMサーバーでregidが変更された場合、データベース内のregidを更新するのはサーバーです。

これが可能なのは、古いregidが引き続き機能し(少なくとも1回はとにかく)、 canonical_idを使用して古いregidで送信されたメッセージへの応答でサーバーに通知します。これには、将来使用する必要のある新しいregidが含まれます。完全な説明については、開発ドキュメント高度なトピックをご覧ください

于 2013-02-19T10:34:30.310 に答える
0

http://developer.android.com/google/gcm/gs.htmlを参照してください。

このページの指示に従って、BroadcastReceiverをアプリケーションに追加する必要があります。次に、GCMBaseIntentServiceを拡張するGCMIntentServiceクラスを作成します。そのサービスに登録IDをアプリサーバーにアップロードしてもらいます(または後で使用するために共有設定に保存します)。

于 2013-02-19T04:22:10.233 に答える
0

http://developer.android.com/google/gcm/client.html#sample-registerに従って、以前のバージョンのGCMおよびC2DMとは異なり、Google自体は登録を更新しません。最初の登録から登録IDを取得したら、1つの場合を除いて、準備が整います。ユーザーが新しいバージョンにアップグレードするときに、再登録する必要があります(この場合は、上記のリンクの例でも処理されます)。 )。

アプリケーションが更新されると、新しいバージョンでの動作が保証されないため、既存の登録IDを無効にする必要があります。アプリケーションの更新時に呼び出されるライフサイクルメソッドがないため、この検証を実現する最善の方法は、登録IDが保存されるときに現在のアプリケーションバージョンを保存することです。

于 2014-12-29T12:34:30.607 に答える