2016-07-18 12 views
3

Mit der MethodeFirebase Refresh Token

[FIRInstanceID tokenWithAuthorizedEntity:scope:options:handler]

Im nicht ganz sicher, was die Parameter fordern? Was ist die autorisierte Einheit und Handlung? Übergeben auch ich das APNS-Token von Apple zu dieser Methode?

Antwort

1

Sie können so tun.

[[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 - Im Grunde fragt es für die Google-Projekt-ID. Es ist numerisch, und wenn Sie bereits GCM in Ihr Projekt integriert hatten, wäre es GCM_SENDER_ID (etwas wie "568520103762"). Überprüfen Sie Ihre Google-info.plist, um es zu finden.
  2. SCOPE - kFIRInstanceIDScopeFirebaseMessaging
  3. OPTIONS - @ {@ "apns_token": deviceToken} (Sie DeviceToken in didRegisterForRemoteNotifications Methode erhalten)
  4. HANDLER - Catch-Token, wenn Sie den Fehler-Token oder fangen hier erhalten haben. Wenn Token Null kommt, dann für Token warten in "tokenRefreshNotification" Methode, die automatisch aufgerufen wird, wenn das Token null in ist [FIRInstanceID tokenWithAuthorizedEntity: Umfang: Optionen: handler]

Beispiel:

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

Dies sollte akzeptiert werden Antwort, beschreibt jedes Feld im Detail. Nett! :) – quarezz

+0

Hey, das klingt vernünftig. Aber wissen Sie, warum ich in diesem Handler-Block einen Fehler erhalte: Fehler Domain = com.firebase.iid Code = 1002 "(null)" – boog

Verwandte Themen