Push

A través de los servicios broker.pn.* se accede a las funcionalidades que provee Mat|r para recibir notificaciones push desde los dispositivos Android y iOS.

Las notificaciones push son una funcionalidad muy importante para el crecimiento de usuarios de tu aplicación. En toda aplicación para dispositivos móviles resulta de gran utilidad saber cuándo ocurre un evento relevante que le permita al usuario acceder a la app e interactuar en base a la información recibida.

Métodos Públicos

void broker.pn.registerForPushNotifications()

Al llamar a este servicio se solicita los permisos necesarios para utilizar notificaciones push. El dispositivo intenta registrarse al servicio de notificaciones push:

  • En caso de registrarse exitosamente, se ejecuta la función callback onRegisterForRemoteNotificationsSuccess en la cual el desarrollador puede acceder al token del dispositivo que se necesita para enviar la notificación desde un servidor.
  • En caso de una falla en el proceso de registración, se ejecuta la función callback onRegisterForRemoteNotificationsFail en la cual el desarrollador puede recibir más información del error asociado.

Bool broker.pn.isEnabled()

Llamando a este servicio, el usuario puede identificar si la aplicación tiene activado el permiso para notificaciones push. Este permiso puede ser editado por el usuario desde los ajustes de la aplicación. En caso de tener activado dicho permiso, isEnabled() retornará true, en caso contrario retornará false.

void broker.pn.unregisterForPushNotifications()

Al invocar este servicio el dispositivo es desregistrado de FCM, por lo cual ya no recibirá notificaciones.

Módulo para Notificaciones Push

Definiendo un módulo con nombre PushNotificationModule, y agregando funciones como las que explicaremos a continuación se pueden recibir eventos e información del flujo de notificaciones.

Definición del módulo:

Module PushNotificationModule {

    void onRegisterForRemoteNotificationsSuccess(String deviceToken, String firebaseToken) {
        // code to manage successful registration
        // you can store the firebase token and device token
    }

    void onRegisterForRemoteNotificationsFail(String errorDetail) {
        // code to manage errors when registering    
    }
    
    void onNewPushNotificationReceived(Notification n) {
        // code to manage received notifications
    }
}

void onRegisterForRemoteNotificationsSuccess(String deviceToken, String firebaseToken)

Esta función es ejecutada cuando el proceso de registración del dispositivo ha sido exitoso. El primer parámetro es el token del dispositivo y el segundo el que viene dado por el framework de firebase. En Android ambos valores coinciden, puesto que firebase es el medio oficial de la plataforma. En iOS serán diferentes, el primer valor te servirá si quieres enviar notificaciones por otro medio que no utilice Firebase.

void onRegisterForRemoteNotificationsFail(String errorDetail)

Esta función es ejecutada cuando el proceso de registración falla. Ejemplo: error en los certificados configurados.

void onNewPushNotificationReceived(Notification n)

Esta función es ejecutada cuando se recibe una notificación y la aplicación está en primer plano.

Modelo built-in para Notificaciones

Model Notification {
    String title
    String body
    Map<String> metadata
}
  • title: título de la notificación
  • body: cuerpo de la notificación
  • metadata: datos extras enviados al dispositivo. Hay dos claves especiales que pueden ser recibidas dentro de la metadata: notification_title y notification_body usadas para algunos escenarios (ver Consideraciones por plataforma).