Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Referencia

Notificaciones push

Importante

Servicios de terceros y notificaciones push obsoletos

Los servicios de terceros y las notificaciones push en App Services han quedado obsoletos en favor de la creación de puntos finales HTTP que usan dependencias externas en funciones.

Webhooks se han renombrado a HTTPS Endpoints sin cambios en el comportamiento. Debe migrar los Webhooks existentes.

Los servicios existentes continuarán funcionando hasta el de septiembre 30 2025de.

Dado que los servicios de terceros y las notificaciones push ya no se utilizan, se han eliminado de forma predeterminada de la interfaz de usuario de App Services. Si necesita administrar un servicio de terceros o una notificación push existente, puede volver a agregar las configuraciones a la interfaz de usuario siguiendo estos pasos:

  • En la navegación izquierda, debajo del Manage sección, haga clic en App Settings.

  • Habilite el interruptor junto a Temporarily Re-Enable 3rd Party Services y luego guarde los cambios.

Atlas App Services permite la integración de aplicaciones móviles (Android e iOS) con el servicio Firebase Cloud Messaging (FCM) para proporcionar notificaciones push. Puedes configurar y enviar mensajes de notificación desde la consola de App Services, mientras los clientes se registran en Firebase Cloud Messaging (FCM) para mensajes enviados a temas específicos.

La pantalla Push Notifications en la interfaz de usuario de Servicios de aplicaciones le permite escribir borradores de notificaciones, enviar notificaciones a los usuarios y definir reglas de notificación.

There are four tabs in the Push Notifications screen:

Nombre de la pestaña
Descripción

Draft

In the Draft tab, you can view a list of the draft messages. For the draft messages, you can:

  • Borradores de mensajes duplicados

  • Editar borrador de mensajes

  • Eliminar borradores de mensajes

Sent

La pestaña "Enviados" muestra los mensajes que App Services ya ha enviado a los clientes registrados. Desde aquí, puede ver una lista de los mensajes enviados. Para los mensajes enviados, puede:

  • Reenviar los mensajes enviados.

  • Mensajes enviados duplicados.

Config

En la pestaña Configuración, proporciona la Credenciales deFCM (ID del remitente y clave API heredada).

Rules

Opcionalmente, puede especificar reglas de notificación push para restringir los tipos de notificaciones push que envía su aplicación.

You can send new Push Notifications from the Push Notifications page. Click the Send New Notification button to open the Send New Notification dialog. In this dialog, you provide the notification message, label, and the relevant topic audience.

Enviar una nueva notificación push
haga clic para ampliar

El proceso general de integración de Notificaciones Push en una aplicación Android es el siguiente:

  1. Agregue una dependencia para FCM.

  2. Crea una instancia de Push.

  3. Use the push.registerDevice() or push.registerDeviceAsync() methods to register the client for push notifications.

  4. Utilice subscribeToTopic() de FirebaseMessaging para suscribirse a temas.

  5. Cree una clase que extienda el servicio abstracto FirebaseMessagingService e implemente el método onMessageReceived(). Esta clase gestiona la comunicación con FCM.

  6. Actualice el archivo AndroidManifest.xml de su proyecto Android para registrar su clase derivada de FirebaseMessagingServicey un receptor para su aplicación.

Para ver la información más reciente y los pasos detallados sobre la integración de FCM con clientes Android, consulta la guía oficial Configurar una aplicación cliente de Firebase Cloud Messaging en Android.

Para usar FCM con App Services en una aplicación iOS, siga estos pasos generales:

  1. Create a valid Apple Push Notification service (APNs) certificate through the Apple Developer Member center.

  2. Copie el archivo GoogleService-Info.plist a su proyecto XCode.

  3. Configura FCM y añade tu aplicación iOS. Cuando registres tu aplicación, FCM te devolverá un token de registro.

Para ver la información más reciente y los pasos detallados sobre la integración de FCM con clientes iOS, consulta la guía oficial Configurar una aplicación cliente de Firebase Cloud Messaging en iOS.

{
"%%args.notification.title": "Test Notification Please Ignore"
}
{
"%%args.to": "%%values.validTopics"
}
{
"%%true": {
"%function": {
"name": "allUserIdsAreValid",
"arguments": [
"%%args.userIds"
]
}
}
}

Nota

Esta plantilla llama a una función de ejemplo llamada allUserIdsAreValid que realiza lo siguiente:

  1. Acepta la lista de ID de usuario proporcionada en el argumento userIds

  2. Consulta a MongoDB un documento de usuario que coincida con el ID del usuario actual

  3. Compara el número de teléfono proporcionado con el número que aparece en el documento del usuario

  4. Returns the boolean result of the comparison

exports = function(toPhone) {
const mdb = context.services.get('mongodb-atlas');
const users = mdb.db('demo').collection('users');
const user = users.findOne({ _id: context.user.id });
return user.phoneNumber === toPhone;
}

Para especificar reglas para las notificaciones push, haga clic en la pestaña Rules de la página Push Notifications.

Nota

A diferencia de otros servicios en Servicios de aplicación, las reglas para las notificaciones push son opcionales. Por defecto, se permiten todas las notificaciones push. Sin embargo, una vez que se especifica una regla, las restricciones impuestas por esa regla entran en vigor.

Las reglas de notificaciones push permiten los siguientes argumentos. Puedes acceder a ellos con la expansión "%%args":

Campo
Tipo
Descripción

userIds

Arreglo de cadenas.

Los identificadores de usuario de los destinatarios del mensaje.

to

String

El destinatario del mensaje. El valor puede ser el token de registro de un dispositivo, la clave de notificación de un grupo de dispositivos o un tema individual (con el prefijo /topics/).

registrationTokens

Arreglo de cadenas.

La lista de tokens de registro para los dispositivos que reciben el mensaje de multidifusión.

priority

string

Prioridad de la notificación. El valor es "high" "normal"o. Corresponde a la priority opción para mensajes HTTP JSON mediante FCM. Consulte la referencia del protocolo HTTP de FCM.

collapseKey

string

La clave de colapso asociada a los mensajes colapsables. Corresponde a la opción collapse_key para mensajes HTTP JSON a través de FCM. Consulte la referencia del protocolo HTTP de FCM.

contentAvailable

booleano

A flag that determines whether to awake idle client apps upon receipt of the message. Corresponds to the content_available option for HTTP JSON messages via FCM. See the FCM HTTP protocol reference.

mutableContent

booleano

Una bandera que determina si el contenido de la notificación puede ser modificado antes de mostrarse al usuario. Corresponde a la opción mutable_content para mensajes HTTP JSON a través de FCM. Consulte la referencia del protocolo HTTP de FCM.

timeToLive

Int

Tiempo máximo (en milisegundos) para retener el mensaje si el dispositivo está desconectado. El rango de valores válidos es de 0 a 2419200.

Corresponds to the time_to_live option for HTTP JSON messages via FCM. See the FCM HTTP protocol reference.

data

Documento JSON

Carga útil para mensaje de datos. El documento data consiste en pares clave-valor personalizados. Corresponde a la opción data para mensajes HTTP JSON vía FCM. Consulta la referencia del protocolo HTTP FCM.

notification

Documento JSON

Carga útil para notificación. notification documento consiste en campos predefinidos. Se corresponde con la opción notification para mensajes HTTP JSON a través de FCM. Consulta la referencia del protocolo HTTP de FCM.

The following table lists the fields of the notification document that is available as a permitted field for Push Notifications rules. To access one of these fields in a rule, use "%%args.notification.<field>".

Campo
Tipo
Descripción

title

string

El título de la notificación. Corresponde a la title opción para mensajes HTTP JSON mediante FCM. Consulte la referencia del protocolo HTTP de FCM.

body

string

El cuerpo de la notificación. Corresponde a la body opción para mensajes HTTP JSON mediante FCM. Consulte la referencia del protocolo HTTP de FCM.

sound

string

The sound to play upon receipt of the notification. Corresponds to the sound option for HTTP JSON messages via FCM. See the FCM HTTP protocol reference.

clickAction

string

La acción que se realiza cuando un usuario hace clic en la notificación. Corresponde a la click_action opción para mensajes HTTP JSON mediante FCM. Consulte la referencia del protocolo HTTP de FCM.

bodyLocKey

string

Clave para la localización de la cadena del cuerpo. Corresponde a la body_loc_key opción para mensajes HTTP JSON mediante FCM. Consulte la referencia del protocolo HTTP de FCM.

bodyLocArgs

string

Valores de cadena que reemplazan los especificadores de formato para la localización en la cadena de cuerpo. Corresponde a la body_loc_args opción para mensajes HTTP JSON mediante FCM. Consulte la referencia del protocolo HTTP de FCM.

titleLocKey

string

The key for localization of the title string. Corresponds to the title_loc_key option for HTTP JSON messages via FCM. See the FCM HTTP protocol reference.

titleLocArgs

string

Valores de cadena que reemplazan los especificadores de formato para la localización en la cadena de título. Corresponde a la title_loc_args opción para mensajes HTTP JSON mediante FCM. Consulte la referencia del protocolo HTTP de FCM.

icon

string

Solo para Android. El icono de notificación. Corresponde a la icon opción para mensajes HTTP JSON mediante FCM. Consulte la referencia del protocolo HTTP de FCM.

color

string

Solo para Android. Indica el color del icono en formato #rrggbb. Corresponde a la color opción para mensajes HTTP JSON mediante FCM. Consulte la referencia del protocolo HTTP de FCM.

tag

string

For Android only. If specified, each notification does not result in a new entry but replaces an existing entry with the specified tag. If unset, each notificaiton results in a new entry. Corresponds to the tag option for HTTP JSON messages via FCM. See the FCM HTTP protocol reference.

badge

string

Solo para iOS. La insignia en el icono de inicio de la aplicación gclient. Corresponde a la badge opción para mensajes HTTP JSON mediante FCM. Consulte la referencia del protocolo HTTP de FCM.

Volver

Modo de sincronización basado en particiones

En esta página