2016-11-22 4 views
0

私は新しいアプリを開発しています。ユーザーに複数のデバイスを使用する可能性を与えたいと思います。 アプリはプッシュ通知を受け取ることができます。私の質問は、各ユーザーのデバイス/トークンをもっと節約する方法です。これはすべてのユーザーのデバイスにプッシュ通知を送信するためのものです。プッシュ通知のための複数のペアトークン/デバイスを保存する

もう一つのアイデアは、ランダムに作成することです

私の考えは、「一部のデバイスID」をretriveし、各デバイスのID /トークンを格納することですが、私は、私が使用できるデバイスIDがわからない...

IDを最初に送信してからこのIDをトークンで送信します。この作業は(部分的に)ユーザーがアプリケーションデータを消去するまで実行されます。この場合、新しいID(問題ありません)を再送信する必要がありますが、古いID /トークン

どのような解決策ですか?

答えて

0

「デバイスID」は必要ありません。プッシュトークンは、デバイスIDであるです。バックエンドデータベースが複数のプッシュトークンを特定のユーザーアカウントに関連付けることができるようにする必要があります。これは通常、ユーザー "ユーザー"テーブルと "インストール"テーブルの間に1 - >多くの関係があります。

ユーザーがアプリを単に削除してバックエンドと通信する機会がないため、バックエンドに古いトークンを削除するよう伝えることはアプリには依存できません。

APNSサービスは、どのプッシュトークンが無効であったかについてのフィードバックを提供します(同等のAndroidサービスにもこのようなものがあると仮定します)。このフィードバックを使用して、無効なインストールをインストールテーブルからパージします。

+0

ただし、更新する必要がある場合は、トークンを更新するにはどうすればよいですか? 2つのトークン(2つのデバイス)がある場合、デバイス1でアプリを開き、更新トークンが呼び出され、このトークンをサーバーに送信します。どのトークンを置き換える必要がありますか? – kikko088

+0

さて、iOS上で 'identifierForVendor'のようなものを使用してデバイスIDを関連付けることができますが、とにかくクリーンアップを処理する必要があります。プッシュトークンは、特定のデバイスのiOS上では変更しないでください。 – Paulw11

+0

理論的にはトークンが変更される場合があります。アップルは、すべてのアプリケーションの起動時にトークンを送信する必要があると言います。あまりにも無駄なトークンを追加する危険があるので、古いトークンを削除せずにトークンを追加することはできません:s – kikko088

関連する問題