Saltar al contenido

¿Cómo navegar por la pantalla en la notificación abierta en React Native with One Signal?

Solución:

Para lograr el comportamiento deseado, puede hacer un par de cosas. Puede verificar manualmente la notificación y el estado del enrutador y, si es necesario, redirigir al usuario a la pantalla o puede usar la funcionalidad Deep Linking.

Para usar Deep Linking, adjunta url parámetro a su notificación al enviarla. Para dirigir al usuario a la pantalla correcta en su aplicación, puede utilizar la función de enlace profundo de navegación de reacción.

De la documentación de una señal

url cadena La URL que se abre en el navegador cuando un usuario hace clic en la notificación. Ejemplo: http://www.google.com

Nota: iOS necesita https o NSAppTransportSecurity actualizado en plist


De la documentación de React Navigation

Vinculación profunda

En esta guía, configuraremos nuestra aplicación para manejar URI externos. Empecemos con el SimpleApp que creamos en la guía de introducción. En este ejemplo, queremos un URI como
mychat://chat/Taylor para abrir nuestra aplicación y vincular directamente a la página de chat de Taylor.

Puede enviar un NavigationAction o realizar un navigate acción cuando onOpened Está despedido. El siguiente fragmento debería funcionar:

componentWillMount() {
    OneSignal.inFocusDisplaying(0);
    OneSignal.removeEventListener('opened', this.onOpened.bind(this));
    OneSignal.addEventListener('opened', this.onOpened.bind(this));
  }

onOpened(openResult) {
    let data = openResult.notification.payload.additionalData;
    // ScreenName is the name of the screen you defined in StackNavigator
    this.props.navigation.navigate('ScreenName', data)
}
¡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 *