es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

React-native con Firebase FCM no funciona.

He realizado los siguientes cambios:

Cómo enviar notificaciones, utilizando firebase-admin y obtener un resultado exitoso:

admin.messaging().sendToDevice(
        "token as string",
        {
        notification: {
            title: 'título aquí',
            body: 'cuerpo aquí'
            }
        },
        {
            priority: "high",
            contentAvailable: true,
            timeToLive: 2419200
        });

Código de React Native, esto es cuando la aplicación está en primer plano:

useEffect(() => {
    checkToken().then((token) => {
      console.log(token);
      // escribir en la base de datos
    });
    const unsubscribe = messaging().onMessage(async (remoteMessage) => {
      console.log(remoteMessage);
    });
    return unsubscribe;
  }, []);

Tengo el archivo GoogleService-Info.plist en la carpeta de iOS, he cargado el APNs en la consola de Firebase + teamid + appid.

Siguientes cambios en AppDelegate.m:

import <firebase.h>

...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

[FIRApp configure];
}

No estoy recibiendo ninguna notificación mientras la aplicación se ejecuta en primer plano, debe haber algo mal con la forma en que estoy enviando (probablemente tengo las opciones incorrectas) o, lo que tengo en React Native está configurado incorrectamente, no estoy seguro. Por ahora, solo estoy intentando hacerlo para iOS.

Cualquier información o solución sería útil.</firebase.h>

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en Firebase, React Native, Notificaciones Push, Firebase Cloud Messaging y React Native FCM, estos son los cambios que el usuario ha realizado:

    • Para enviar notificaciones, el usuario ha utilizado Firebase Admin y se menciona a continuación el fragmento de código:
    admin.messaging().sendToDevice(
            "token como string",
            {
            notification: {
                title: 'título aquí',
                body: 'cuerpo aquí'
                }
            },
            {
                priority: "high",
                contentAvailable: true,
                timeToLive: 2419200
            });
    
    • Para el código de React Native, el usuario ha utilizado el gancho useEffect para escuchar los mensajes y luego enviarlos a la base de datos. El fragmento de código para esto se menciona a continuación:
    useEffect(() => {
        checkToken().then((token) => {
          console.log(token);
          // escribir en la base de datos
        });
        const unsubscribe = messaging().onMessage(async (remoteMessage) => {
          console.log(remoteMessage);
        });
        return unsubscribe;
      }, []);
    
    • El usuario ha colocado el archivo GoogleService-Info.plist en la carpeta de ios, ha cargado los APNs en la consola de Firebase y ha agregado el ID de equipo y el ID de la aplicación.
    • Por último, para configurar la aplicación de Firebase en AppDelegate.m, el usuario ha agregado el siguiente fragmento de código:
    #import <firebase.h>
    ....
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
    
    [FIRApp configure];
    

    A pesar de realizar todos estos cambios, el usuario no está recibiendo ninguna notificación mientras la aplicación se ejecuta en primer plano. El usuario sospecha que pudo haber cometido un error al enviar las notificaciones o que hay alguna configuración incorrecta en React Native.

    Se agradecería cualquier ayuda o solución en relación a este problema.</firebase.h>

Comments are closed.