2016-03-31 8 views
0

自分のアプリをGCMに統合しました。店頭にあり、正常に機能しています。今度は、登録トークンを更新して、新しいトークンを私のサーバーに送りたいと思っています。iOS用のGCMでrefreshTokenを正しく呼び出すにはどうすればよいですか?

GCMはrefreshTokenと呼ばれる方法を提供し、

func onTokenRefresh() { 
    GGLInstanceID.sharedInstance().tokenWithAuthorizedEntity(gcmSenderID, scope: kGGLInstanceIDScopeGCM, options: registrationOptions, handler: registrationHandler) 
} 

私は私のApplicationBecomeActiveからこのメソッドを呼び出しました。これはメソッドを呼び出します:

func registrationHandler(registrationToken: String!, error: NSError!) { 
    if (registrationToken != nil) { 
    } else { 
    print("Registration to GCM failed with error: \(error.localizedDescription)") 
    let userInfo = ["error": error.localizedDescription] 
    NSNotificationCenter.defaultCenter().postNotificationName(self.registrationKey, object: nil, userInfo: userInfo) 
    } 
} 

しかし、私はregistrationTokenを取得していません。それが言うたびに:

Registration to GCM failed with error "registration to GCM failed with error: The operation couldn’t be completed. (com.google.iid error 1001.)"

ここで何が問題になりますか?

答えて

0

GGLInstanceIDDelegateプロトコルは、トークンをリフレッシュする必要があるとシステムが判断したときに呼び出されるonTokenRefreshメソッドを宣言します。hereと同様に、登録トークンをリフレッシュします。

GCMへの登録がエラーで失敗しました:「GCMへの登録に失敗しました:操作を完了できませんでした(com.google.iidエラー1001.)」サーバーが負荷を受けていて応答していないHTTP(s)コードが諦める前にリクエストに送信します。あなたが対処する構成上の問題があるように思えます。

これをチェックするGitHub issue

関連する問題