:
登録トークンの潜在的な悪意の再利用からクライアントアプリケーションとアプリケーションサーバーを保護するために、あなたが定期的にサーバからトークンリフレッシュを開始する必要があります。サーバー側からGCM登録トークンの更新が開始されると、クライアントアプリケーションはGCM登録クライアント/サーバーハンドシェイクでtokenRefreshedメッセージを処理する必要があります。 iOS用
、それがあることHandle refreshed tokensで述べた:
は、登録トークンがリフレッシュされた場合に対処するには、GGLInstanceIDDelegate
プロトコルは、システムがトークンが必要と判断したときに呼び出されonTokenRefresh
メソッドを宣言しますリフレッシュする。
サンプルコード:
- (void)onTokenRefresh {
// A rotation of the registration tokens is happening, so the app needs to request a new token.
NSLog(@"The GCM registration token needs to be changed.");
[[GGLInstanceID sharedInstance] tokenWithAuthorizedEntity:_gcmSenderID
scope:kGGLInstanceIDScopeGCM
options:_registrationOptions
handler:_registrationHandler];
}
AppDelegate.m
さらに、トークン処理するようにすると、クライアントアプリがなければならないリフレッシュ:
GGLInstanceIDDelegate
プロトコルを採用しているクラスを宣言。
- delegateプロパティを使用して、
GGLInstanceIDConfig
にそのクラスをデリゲートとして設定します。
特定のドキュメントに役立つ参考資料があります。
これ以外にも、このSO post-Why re-register to gcm when application gets updatedでは、トークンのリフレッシュが必要な理由も説明されています。
答えに感謝します。私の理解を助けてください:アプリケーションが更新されたときにonTokenRefreshが起動しますか?または、サーバー側から発行された定期的な更新が状況を緩和することを提案していますか? –