Saltar al contenido

¿Cambiar/actualizar el token de notificación de Firebase o la identificación de la instancia a la fuerza a través del código?

Hola usuario de nuestra web, hallamos la solución a lo que estabas buscando, desplázate y la obtendrás a continuación.

Solución:

Ahora obtuve mi respuesta después de enfrentar muchos problemas para generar tokens nuevos o modificados de firebase para notificaciones automáticas.

1) Eliminar el antiguo token de Firebase

let instance = FIRInstanceID.instanceID()
_ = FIRInstanceID.delete(instance)
FIRInstanceID.instanceID().delete  (err:Error?) in
    if err != nil
        print(err.debugDescription);
     else 
        print("Token Deleted");
    

2) Solicitar un nuevo token de Firebase

if let token = FIRInstanceID.instanceID().token() 
    print("Token (token) fetched");
 else 
    print("Unable to fetch token");


FIRMessaging.messaging().connect  (error) in
    if (error != nil) 
        print("Error connecting to FCM. (error.debugDescription)")
     else 
        print("Connected to FCM.")
    

ACTUALIZACIÓN PARA SWIFT 4 y Firebase 4.8.2 (Siga dos simples pasos)

1) Eliminar token antiguo

let instance = InstanceID.instanceID()
instance.deleteID  (error) in
    print(error.debugDescription)

2) Solicitud de nuevo token

if let token = InstanceID.instanceID().token() 
    print("Token : (token)");
 else 
    print(“Error: unable to fetch token");


Messaging.messaging().shouldEstablishDirectChannel = true

Puede obtener un token actualizado en el método MessagingDelegate didReceiveRegistrationToken y en Refresh Token.

func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) 
    print("Firebase Token :  (fcmToken)")

por ahora InstanceID.instanceID().token() es obsoleto.

Deberías usar esto:

let instance = InstanceID.instanceID()
instance.deleteID  (error) in
  print(error.debugDescription)


instance.instanceID  (result, error) in
  if let error = error 
    print("Error fetching remote instange ID: (error)")
   else 
    print("Remote instance ID token: (String(describing: result?.token))")
  

Messaging.messaging().shouldEstablishDirectChannel = true

Luego en AppDelegate:

extension AppDelegate: MessagingDelegate {

func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) 
    //Here is your new FCM token
    print("Registered with FCM with token:", fcmToken)

Respuesta actualizada para Swift 4, FireBase 4.8.2, FirebaseMessaging (2.0.8)

debugPrint("Existing Token :- (Messaging.messaging().fcmToken!)")

let instance = InstanceID.instanceID()
instance.deleteID  (error) in
    print(error.debugDescription)


if let token = InstanceID.instanceID().token() 
    print("Token (token) fetched");
 else 
    print("Unable to fetch token");

Messaging.messaging().shouldEstablishDirectChannel = true

Recibimos este token actualizado en el método MessagingDelegate, así como en Refresh Token

func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) 
    print("Firebase registration token: (fcmToken)")

Comentarios y valoraciones

Ten en cuenta dar visibilidad a esta división si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *