2011-07-13 12 views
2

私のiPhoneアプリケーションでAPNS経由の通知を使用する必要があります。
しかし、私は仕様を読んで、私はトークンがAPNS側で変更することができると私は通知を受信するためにプロバイダ側のトークンを更新する必要があることを確認します。Apple Remote Notifications - ハンドルトークンの変更

しかし、プロバイダが通知を作成してAPNSに渡すと、その時点でトークンはすでに変更されていますか?
古いトークンで通知を受け取りますか?トークンの期限が切れたことをプロバイダに通知しますか?

私はそれを解決するべきですか?登録後、私はあなたの情報を「あなたは通知を送ることができます」を更新し、アプリケーションの実行中にこの状態を更新するNSTimerジョブを作成しますか?

これによると:あなたのアプリが起動時に通知のために登録して、ドキュメントに指定されたメソッドを実装している場合 http://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html#//apple_ref/doc/uid/TP40008194-CH103-SW2

おかげ

答えて

5

、正しいトークンを取得するようにしてくださいます。

アプリがトークンの状態を把握している場合は、必要に応じて(または変更されたかどうかにかかわらずトークンを取得するたびに)プロバイダに更新を送信できます。

トークンが変更され、プロバイダが古いトークンを使用してプッシュしようとすると、プッシュ通知サーバーによってトークンが無効であることがプロバイダに通知されます。

+0

トークンが変更され、プロバイダがクライアントをオフラインにしている間、または古いトークンを使用している間にAPNSに通知を送信すると、 –

+0

クライアントが通知のために登録したときだけトークンが変更され、オフラインのときは変更されません。また、彼らはそれを頻繁に変更しません。彼らはOSのアップグレードの間でさえ持続することができるので、私はそれが本当の人生で大きな問題だとは思わない。 –

+1

私が投稿したドキュメントを読むと、アプリケーションは起動するたびに登録し、そのプロバイダに現在のトークンを与えるべきであることに気づくことができます。 'さらに、デバイストークンをキャッシュしてプロバイダに渡すことはありません。いつでもシステムからトークンを得ることができます。そして質問は続く。プロバイダがオフラインで通知を送信し、オンラインになって登録トークンが変更されるとどうなりますか? –

関連する問題