5

didRegisterForRemoteNotificationsWithDeviceToken が呼び出されたときに、iOS は NSNotification (deviceToken を含む) をトリガーしますか?

AppDelegate 内からいつでもトークンを NSUserDefaults に保存して、どこからでもアクセスできることはわかっていますが、もっと良い方法があるかどうか疑問に思っています。UIApplicationDidEnterBackgroundNotification に沿って何かを考えています。

更新: AppDelegate でそのデリゲート メソッドを実装せずにデバイス トークンを取得したい場合の使用例。

4

2 に答える 2

1

あなたの質問を正しく理解できませんでした。

 - (void)application:(UIApplication *)application  
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken 

これは、アプリが APNS サーバーに正常に登録され、デバイス トークンを取得するときに、iOS スタック (つまり、アプリケーション デリゲート) によって呼び出されるメソッドです。

(これは、実装によってアプリがプッシュ通知用に登録されていることを前提としています)

(void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types.

一般に、このデバイストークンをプッシュ通知ペイロード生成サーバーに送信して、デバイスをサーバーに登録する必要があります。これは、「didRegisterForRemoteNotificationsWithDeviceToken」内で実行できます。したがって、トークンをどこにでも保存する必要はありません。また、アプリは起動するたびに APNS サーバーからデバイス トークンを登録して取得することに注意してください (通常、バックグラウンドからフォアグラウンドに移行するときではありませんが、実装によって異なります)。

于 2013-10-28T21:31:12.920 に答える