2016-07-18 6 views
3

方法Firebaseのリフレッシュトークン

[FIRInstanceID tokenWithAuthorizedEntity:scope:options:handler]

イムを使用していないパラメータが呼びかけているものは非常に確認してください?許可されたエンティティとアクションは何ですか?また、AppleからのAPNSトークンをそのメソッドに渡しますか?

答えて

1

このようにすることができます。

[[FIRInstanceID instanceID] setAPNSToken:deviceToken type:FIRInstanceIDAPNSTokenTypeProd]; 

[[FIRInstanceID instanceID] tokenWithAuthorizedEntity:gcmSenderID scope:kFIRInstanceIDTokenRefreshNotification options:nil handler:^(NSString * _Nullable token, NSError * _Nullable error) { 

    NSLog(@"GCM Registration token = %@",token); 
    NSLog(@"GCM Registration error = %@",error);   
}]; 
5
  1. AUTHORIZED_ENTITY - 基本的には、GoogleのプロジェクトIDを要求します。数値です。以前にGCMをプロジェクトに統合していた場合、GCM_SENDER_ID(「568520103762」など)になります。 Google-info.plistを確認してください。
  2. SCOPE - { "apns_token" @:deviceToken} @ -
  3. OPTIONS kFIRInstanceIDScopeFirebaseMessaging - あなたはトークンを受け取ったか、ここでエラーをキャッチした場合、キャッチトークン(あなたがdidRegisterForRemoteNotifications方法でDeviceTokenを取得します)
  4. HANDLERを。 [:スコープ:オプション:ハンドラFIRInstanceID tokenWithAuthorizedEntity]

例:

if (![[FIRInstanceID instanceID] token]) { 
    [[FIRInstanceID instanceID] tokenWithAuthorizedEntity:_gcmSenderId scope:kFIRInstanceIDScopeFirebaseMessaging options:_registrationOptions handler:^(NSString * _Nullable token, NSError * _Nullable error) { 

     // Fetch the token or error 
    }]; 

} 
+0

トークンがnilが来る場合は、トークンがでnilの場合、自動的に呼び出されます "tokenRefreshNotification" 方法、トークンを待ちますこれは、答えを受け入れる必要があります、詳細すべてのフィールドを説明します。ニース! :) – quarezz

+0

ちょっと、それは妥当と聞こえる。しかし、なぜこのハンドラブロックでエラーが出るのか知っていますか?Error Domain = com.firebase.iid Code = 1002 "(null)" – boog

関連する問題