私はプッシュ通知のサービスの設計と開発を検討しており、プッシュ通知の登録とトークンの保存に関して、AppleAppでの処理の順序を理解しようとしています。私が現在開発しているのは、サーバー上の特定の処理で発生する個々の変更をサブスクリプションできるサービスです。それらが発生すると、電話ユーザーはタイプ「A」、「B」、または「C」のメッセージを受信する場合があります。電話ユーザーは、必要に応じて、これらの各タイプを個別に「サブスクライブ」する必要があります。それ以外の場合は、無視してサブスクライブできません。
そのため、電話番号4のユーザーFredは、アプリを起動してログインし、プッシュ通知として送信されるイベントのサブスクリプションをオンまたはオフにすることができます。
したがって、特定のサブスクリプションを使用して、Fredのログインから電話番号4のデバイストークンに詳細を関連付ける必要があります。
だから私の特に重要な質問はです。
電話がAPNSサーバーに接続してデバイストークンを取得する場合、これはアプリの起動時に自動的に行われますか?または、これを後のステップで開始できますか?つまり、アプリのログ画面を通過した後です。
デバイストークンを電話のアプリのデータストアに保存できますか(許可されていますか?)。または、アプリを実行するたびにアプリをAPNSサーバーに接続する必要がありますか?
アプリは、すでにAPNSサーバーを呼び出してトークンを取得したかどうか、または上記のように、アプリの実行時にAPNSサーバーを呼び出す必要があるかどうかをどのように認識しますか?
トークンの実行時にトークンをアプリのメモリに保存して、特定のメッセージを適切にサブスクライブおよびサブスクライブ解除できるようにすることはできますか?
また、特定のユーザーがすべてのデバイスで持つ可能性のあるすべてのサブスクリプションを一覧表示して、ユーザーが古いデバイスを削除できるようにする必要があります(電話を変更した場合)。または、APNSへの呼び出しからのデータに依存して(通知をプッシュしようとしたときに)、デバイストークンが無効になったことを通知できますか?
それとも、これをすべてまとめるより良い方法はありますか?