web-dev-qa-db-fra.com

La méthode Firebase InstanceID.instanceID (). Token () est obsolète

Je travaille avec Swift et firebase. Auparavant, j’utilisais la méthode suivante pour obtenir le jeton firebase que j’utilisais ensuite pour stocker dans la base de données et envoyer des notifications.

InstanceID.instanceID().token()

Maintenant, cette méthode montre comme obsolète depuis que j'ai mis à jour mon firebase.

'token()' is deprecated: Use instanceIDWithHandler: instead.

Je ne sais pas comment utiliser instanceIDWithHandler j'ai essayé de suivre mais je ne sais pas comment obtenir un jeton.

func instanceID(handler: @escaping InstanceIDResultHandler){

    }

S'il vous plaît aider. Merci d'avance.

13
Deepak

Récupération du jeton d'enregistrement actuel

Les jetons d’enregistrement sont délivrés via la méthode messaging:didReceiveRegistrationToken:. Cette méthode est généralement appelée une fois par application et commence par un jeton FCM. Lorsque cette méthode est appelée, c'est le moment idéal pour:

  • Si le jeton d'enregistrement est nouveau, envoyez-le à votre serveur d'applications.
  • Abonnez-vous le jeton d'inscription à des sujets. Ceci est requis uniquement pour les nouveaux abonnements ou pour les situations dans lesquelles l'utilisateur a réinstallé l'application.

Vous pouvez récupérer le jeton directement en utilisant instanceIDWithHandler: _ . Ce rappel fournit un InstanceIDResult, qui contient le jeton. Une erreur non NULL est fournie si la récupération d'Instance ID a échoué de quelque manière que ce soit.

Objectif C

sur votre méthode getTokenMethod

[[FIRInstanceID instanceID] instanceIDWithHandler:^(FIRInstanceIDResult * _Nullable result,
                                                NSError * _Nullable error) {
if (error != nil) {
NSLog(@"Error fetching remote instance ID: %@", error);
} else {
NSLog(@"Remote instance ID token: %@", result.token);
}
}];

Rapide

InstanceID.instanceID().instanceID { (result, error) in
if let error = error {
print("Error fetching remote instange ID: \(error)")
} else if let result = result {
print("Remote instance ID token: \(result.token)")
 }
}
35
Anbu.Karthik