Notificações por push [Preterido]
Nesta página
- Visão geral
- Interface de gerenciamento
- Enviar uma notificação push
- Configurar clientes para receber notificações push
- Modelos de regra
- As notificações devem ter um título específico
- As notificações devem ser para um tópico específico
- As notificações só podem ser enviadas para um conjunto limitado de IDs de usuário
- Regras de notificação push
- Campos do documento de notificação
Importante
Suspensão de serviços de terceiros e notificações push
Os serviços de terceiros e as notificações por push no App Services foram preteridos em favor da criação de pontos de extremidade HTTP que usam dependências externas em funções.
Webhooks foram renomeados e agora são chamados de pontos de conexão HTTPS sem nenhuma alteração em seu comportamento. Recomendamos migrar webhooks existentes.
Os serviços existentes continuarão a funcionar até de setembro 30 de2025.
Como os serviços de terceiros e as notificações por push agora estão obsoletos, eles foram removidos por padrão da UI do App Services. Para gerenciar um serviço de terceiros ou uma notificação por push existente, adicione as configurações de volta à UI fazendo o seguinte:
Na navegação à esquerda, na seção Manage, clique em App Settings.
Ative a chave de alternância ao lado de Temporarily Re-Enable 3rd Party Services e salve as alterações.
Visão geral
O Atlas App Services oferece suporte à integração de aplicativos móveis (Android e iOS) com o serviço Firebase Cloud Messaging (FCM) para fornecer notificações push. Você configura e envia mensagens de notificação de dentro do console do Atlas App Services, enquanto os clientes se registram no Firebase Cloud
Messaging (FCM)
para mensagens enviadas para tópicos específicos.
Interface de gerenciamento
A tela Push Notifications na interface do usuário do App Services permite escrever rascunhos de notificação, enviar notificações aos usuários e definir regras de notificação.
Existem quatro guias na tela Push Notifications:
Nome da aba | Descrição |
---|---|
Draft | Na guia Rascunho, você pode visualizar uma lista de rascunhos de mensagens. Para as mensagens de rascunho, você pode:
|
Sent | A guia Enviado mostra as mensagens que o App Services já enviaram aos clientes registrados. A partir daqui, você pode visualizar uma lista das mensagens enviadas. Para as mensagens enviadas, você pode:
|
Config | Na guia Configurações, você fornece as credenciais do FCM (ID do remetente e chave API legada). |
Rules | Opcionalmente, você pode especificar Regras de notificação por push para restringir os tipos de notificações por push que seu aplicativo envia. |
Enviar uma notificação push
Você pode enviar novas notificações push a partir da página Push Notifications. Clique no botão Send New Notification para abrir a caixa de diálogo Send New Notification . Nesta caixa de diálogo, você fornece a mensagem de notificação, o rótulo e o público do tópico relevante.
Configurar clientes para receber notificações push
O processo geral de integração do notificações push em um aplicativo Android é o seguinte:
Adicione uma dependência para o FCM.
Crie uma instância do Push.
Use os métodos push.registerDevice() ou push.registerDeviceAsync() para registrar o cliente para notificações push.
Use o subscribeToTopic() do FirebaseMessaging para assinar tópicos.
Crie uma classe que estenda o FirebaseMessagingService abstrato e implemente o método onMessageReceived(). Esta classe lida com a comunicação com o FCM.
Atualize o arquivo
AndroidManifest.xml
para seu projeto Android registrar sua classe derivada doFirebaseMessagingService
e um receptor para seu aplicativo.
Para ver as informações mais recentes e as etapas detalhadas sobre a integração do FCM com clientes Android, consulte o guia oficial Configurar um aplicativo cliente do Firebase Cloud Messaging no Android.
Para usar o FCM com o App Services em um aplicativo iOS, siga estas etapas:
Crie um certificado válido do serviço Apple Push Notification (APNs) por meio do Apple Developer Member Center.
Copie o arquivo GoogleService-Info.plist para seu projeto XCode.
Configure o FCM e adicione seu aplicativo iOS. Ao registrar o aplicativo, o FCM retornará um token de registro.
Para ver as informações mais recentes e as etapas detalhadas sobre a integração do FCM com clientes iOS, consulte o guia oficial Configurar um aplicativo cliente do Firebase Cloud Messaging no iOS.
Modelos de regra
As notificações devem ter um título específico
{ "%%args.notification.title": "Test Notification Please Ignore" }
As notificações devem ser para um tópico específico
{ "%%args.to": "%%values.validTopics" }
As notificações só podem ser enviadas para um conjunto limitado de IDs de usuário
{ "%%true": { "%function": { "name": "allUserIdsAreValid", "arguments": [ "%%args.userIds" ] } } }
Observação
Este modelo chama uma função de exemplo chamada allUserIdsAreValid
que faz o seguinte:
Aceita a lista de User IDs fornecida no argumento
userIds
Executa queries no MongoDB para um documento de usuário que corresponda ao ID de usuário atual
Compara o número de telefone fornecido com o número listado no documento do usuário
Retorna o resultado booleano da comparação
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; }
Regras de notificação push
Para especificar regras para notificações push, clique na guia Rules na página Push Notifications.
Observação
Diferentemente de outros serviços no App Services, as regras para notificações push são opcionais. Por padrão, todas as notificações push são permitidas. No entanto, uma vez que você especifique uma regra, as restrições impostas por essa regra entrarão em vigor.
As regras de notificações push permitem os seguintes argumentos. Você pode acessá-los com a expansão "%%args"
:
Campo | Tipo | Descrição |
---|---|---|
userIds | Array de strings. | As IDs de usuário dos destinatários da mensagem. |
to | String | O destinatário da mensagem. O valor pode ser o token de registro de um dispositivo, a chave de notificação de um grupo de dispositivos ou um único tópico (prefixado com /topics/ ). |
registrationTokens | Array de strings. | A lista de tokens de registro para os dispositivos que recebem a mensagem multicast. |
priority | string | A prioridade da notificação. O valor é "high" ou "normal" . Corresponde à opção priority para mensagens HTTP JSON via FCM. Consulte a referência do protocolo HTTP do FCM . |
collapseKey | string | A chave de colapso associada a mensagens recolhíveis. Corresponde à opção collapse_key para mensagens JSON HTTP via FCM. Consulte a referência do protocolo HTTP FCM. |
contentAvailable | booleano | Um sinalizador que determina se os aplicativos clientes ociosos devem ser ativados após o recebimento da mensagem. Corresponde à opção content_available para mensagens JSON HTTP via FCM. Consulte a referência do protocolo HTTP FCM. |
mutableContent | booleano | Um sinalizador que determina se o conteúdo da notificação pode ser modificado antes de ser exibido para o usuário. Corresponde à opção mutable_content para mensagens HTTP JSON via FCM. Consulte a referência do protocolo HTTP do FCM. |
timeToLive | int | Tempo máximo (em milissegundos) para manter a mensagem se o dispositivo estiver off-line. O valor válido varia de 0 a 2419200. Corresponde à opção |
data | Documento JSON | Carga útil para mensagem de dados. data documento consiste em pares de chave-valor personalizados. Corresponde à opção data para mensagens JSON HTTP via FCM. Consulte a referência do protocolo HTTP FCM. |
notification | Documento JSON | Carga útil para notificação. notification documento consiste em campos predefinidos. Corresponde à opção notification para mensagens HTTP JSON via FCM. Consulte a referência do protocolo HTTP do FCM . |
Campos do documento de notificação
A tabela a seguir lista os campos do documento notification
que estão disponíveis como um campo permitido para as regras de notificações push. Para acessar um desses campos em uma regra, use "%%args.notification.<field>"
.
Campo | Tipo | Descrição |
---|---|---|
title | string | O título da notificação. Corresponde à opção title para mensagens HTTP JSON via FCM. Consulte a referência do protocolo HTTP do FCM. |
body | string | O corpo da notificação. Corresponde à opção body para mensagens JSON HTTP via FCM. Consulte a referência do protocolo HTTP do FCM. |
sound | string | O som a ser reproduzido após o recebimento da notificação. Corresponde à opção sound para mensagens JSON HTTP via FCM. Consulte a referência do protocolo HTTP do FCM. |
clickAction | string | A ação a ser tomada quando um usuário clica na notificação. Corresponde à opção click_action para mensagens JSON HTTP via FCM. Consulte a referência do protocolo HTTP do FCM. |
bodyLocKey | string | A chave para localização da string do corpo. Corresponde à opção body_loc_key para mensagens JSON HTTP via FCM. Consulte a referência do protocolo HTTP FCM. |
bodyLocArgs | string | Os valores da string para substituir os especificadores de formato para localização na string do corpo. Corresponde à opção body_loc_args para mensagens HTTP JSON via FCM. Consulte a referência do protocolo HTTP do FCM . |
titleLocKey | string | A chave para localização da string de títulos. Corresponde à opção title_loc_key para mensagens JSON HTTP via FCM. Consulte a referência do protocolo HTTP FCM. |
titleLocArgs | string | Os valores da string para substituir especificadores de formato para localização na string de título. Corresponde à opção title_loc_args para mensagens JSON HTTP via FCM. Consulte a referência do protocolo HTTP FCM. |
icon | string | Apenas para Android. O ícone de notificação. Corresponde à opção icon para mensagens JSON HTTP via FCM. Consulte a referência do protocolo HTTP FCM. |
color | string | Apenas para Android. Indica a cor do ícone no formato #rggbb. Corresponde à opção color para mensagens JSON HTTP via FCM. Consulte a referência do protocolo HTTP do FCM. |
tag | string | Apenas para Android. Se especificado, cada notificação não resulta em uma nova entrada, mas substitui uma entrada existente pela tag especificada. Se não for definido, cada notificação resultará em uma nova entrada. Corresponde à opção tag para mensagens JSON HTTP via FCM. Consulte a referência do protocolo HTTP FCM. |
badge | string | Apenas para iOS. O selo no ícone inicial do aplicativo gclient. Corresponde à opção badge para mensagens HTTP JSON via FCM. Consulte a referência do protocolo HTTP do FCM . |