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.
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 unInstanceIDResult
, 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)")
}
}