3

c2dm を使用するアプリを作成しています。

アプリのメインの「意図」が起動するたびに、登録 ID を要求することになっていると思います。私はこれを行ってきましたが、各リクエストの結果が新しい文字列になるようで、同じデバイスのデータベースに多数の登録 ID が積み重なってしまいます。そのうちの1つだけが機能すると思います。ただし、ユーザーが複数のデバイスを所有している場合、複数のデバイスで通知を受信できるようにするため、古いものを削除したくありません。

これをどのように処理すればよいですか?

4

5 に答える 5

1

Never to refresh ID untill your app is installed on your Device

I have implemented C2DM. If you have more than one registration ID for one device then only latest ID will work for sending notification.

When you register your device to google server then it generate a String(As you already know) corresponding to that device ID.But if you again register using same device then previous one is useless.

So i will suggest better to keep information that device is already registered or not.If registered then no need to re-register again.As you will get notification on the base of your old R_ID. simply send this R_ID to your server for notification purpose and save flag in your data base to keep track of registeration

于 2012-01-25T09:46:42.273 に答える
0

登録 ID を持っていないときに登録 ID を要求し、それをサーバー (C2DM メッセージを送信するサーバー) に送信することだけを想定しています。新しいIDを取得し続けるのは奇妙です。私自身のテストでは、同じデバイスでこの同じアプリを登録および登録解除するたびに、同じIDを取得します。まだ多くのテストを行っていませんが、デバイスとアプリの組み合わせごとに ID が変わると思います。

于 2011-05-28T04:30:59.593 に答える
0

デバイスの登録 ID は、アプリがインストール後に初めて実行されたときにのみ C2DM サーバーから要求され、データベースに保存されます (一意になるようにデバイス ID と一緒に使用することをお勧めします)。

登録 ID は、C2DM がデバイスに新しい登録 ID を送信しない限り、またはユーザーがアプリをアンインストールしない限り有効です。後者のケースの処理方法を知っていると思います。

最初のケースに戻ります。デバイス内のアプリケーションの存続期間中に、C2DM サーバーがデバイスに新しい登録 ID を送信する可能性があります [それは自動的に行われ、再度要求する必要はありません]。したがって、同じリスナーが必要であり、データベース内のそのデバイスの登録 ID を更新できます。

それが役に立てば幸い。

于 2012-01-31T09:33:14.613 に答える
0

registration_id を device_id とともに DB に保存しています。そうすれば、デバイスごとに 1 つのエントリしかありません。また、reg id は共有設定としてデバイスに保存されるため、毎回新しいものを要求する必要はありません...

しかし、ユーザーがデバイスに持っているreg idの有効期限が切れているかどうかを確認する方法があるかどうかを知りたいです。

何か案は?その意図はありますか?

于 2011-05-28T14:55:56.037 に答える