Notificações por push silenciosas
Aprenda como configurar notificações por push silenciosas para o SDK Braze.
Pré-requisitos
Antes de usar este recurso, você precisará integrar o SDK Android Braze. Você também precisará configurar notificações por push.
Configurando notificações por push silenciosas
As notificações silenciosas estão disponíveis por meio da API de envio de mensagens do Braze. Para aproveitá-los, você precisa definir o sinalizador send_to_sync como true no objeto Android push e garantir que não haja campos title ou alert definidos, pois isso causará erros quando usado junto com send_to_sync- no entanto, você pode incluir dados extras no objeto.
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o Swift Braze SDK. Você também precisará configurar notificações por push.
Limitações do iOS
O sistema operacional iOS pode bloquear notificações para alguns recursos. Se você estiver enfrentando dificuldades com esses recursos, o gate de notificações silenciosas do iOS pode ser a causa. Para mais detalhes, consulte a documentação da Apple sobre método de instância e notificações não recebidas.
Configurando notificações por push silenciosas
Para usar notificações por push silenciosas para disparar trabalho em segundo plano, você deve configurar seu app para receber notificações mesmo quando estiver em segundo plano. Para fazer isso, adicione o recurso Background Modes usando o painel Signing & Capabilities ao destino principal do app no Xcode. Selecione a caixa de seleção Remote notifications.

Mesmo com o modo de segundo plano de notificações remotas ativado, o sistema não iniciará seu app em segundo plano se o usuário tiver forçado o encerramento do aplicativo. O usuário deve iniciar explicitamente o aplicativo ou reiniciar o dispositivo antes que o app possa ser lançado automaticamente em segundo plano pelo sistema.
Para saber mais, consulte atualizações em segundo plano via push e a documentação do application:didReceiveRemoteNotification:fetchCompletionHandler:.
Enviando notificações por push silenciosas
Para enviar uma notificação por push silenciosa, defina a flag content-available como 1 em uma carga útil de notificação por push.

O que a Apple chama de notificação remota é apenas uma notificação por push normal com a flag content-available definida.
A flag content-available pode ser definida no dashboard da Braze, assim como dentro do nosso objeto push da Apple na API de envio de mensagens.

Anexar tanto um título quanto um corpo com content-available=1 não é recomendado porque pode levar a um comportamento indefinido. Para garantir que uma notificação seja realmente silenciosa, exclua tanto o título quanto o corpo ao definir a flag content-available como 1. Para mais detalhes, consulte a documentação oficial da Apple sobre atualizações em segundo plano.

Ao enviar uma notificação por push silenciosa, você também pode incluir alguns dados na carga útil da notificação, para que seu aplicativo possa referenciar o evento. Isso pode economizar algumas solicitações de rede e aumentar a capacidade de resposta do seu app.
Ignorando notificações por push internas
A Braze usa notificações por push silenciosas para lidar internamente com determinados recursos avançados, como rastreamento de desinstalação. Se o seu app executa ações automáticas em inicializações de aplicativos ou pushes em segundo plano, considere bloquear essa atividade para que ela não seja disparada por nenhuma notificação por push interna.
Por exemplo, se você tem uma lógica que chama seus servidores para obter novo conteúdo a cada push em segundo plano ou inicialização de aplicativo, talvez queira impedir o disparo dos pushes internos da Braze para evitar tráfego de rede desnecessário. Como a Braze envia certos tipos de pushes internos para todos os usuários aproximadamente ao mesmo tempo, poderá ocorrer uma carga significativa no servidor se as chamadas de rede na inicialização provocadas por pushes internos não forem bloqueadas.
Etapa 1: Verifique se há ações automáticas em seu app
Verifique se há ações automáticas em seu aplicativo nos seguintes locais e atualize seu código para ignorar os pushes internos da Braze:
- Receptores push. As notificações por push em segundo plano chamarão
application:didReceiveRemoteNotification:fetchCompletionHandler:noUIApplicationDelegate. - Delegado do app. Os pushes em segundo plano podem iniciar apps suspensos em segundo plano, disparando os métodos
application:willFinishLaunchingWithOptions:eapplication:didFinishLaunchingWithOptions:no seuUIApplicationDelegate. Verifique oslaunchOptionsdesses métodos para determinar se o aplicativo foi iniciado a partir de um push em segundo plano.
Etapa 2: Use o método do utilitário push interno
Você pode usar o método estático do utilitário em Braze.Notifications para verificar se seu app recebeu ou foi iniciado por um push interno da Braze. Braze.Notifications.isInternalNotification(_:) retorna true para todas as notificações por push internas da Braze, que incluem rastreamento de desinstalação e notificações de sincronização de Feature Flags.
Por exemplo:
1
2
3
4
5
6
7
func application(_ application: UIApplication,
didReceiveRemoteNotification userInfo: [AnyHashable : Any],
fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
if (!Braze.Notifications.isInternalNotification(userInfo)) {
// Gated logic here (for example pinging server for content)
}
}
1
2
3
4
5
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler {
if (![BRZNotifications isInternalNotification:userInfo]) {
// Gated logic here (for example pinging server for content)
}
}
Pré-requisitos
Antes de usar este recurso, você precisará integrar o SDK Android Braze. Você também precisará configurar notificações por push.
Configurando notificações por push silenciosas
As notificações silenciosas estão disponíveis por meio da API de envio de mensagens do Braze. Para aproveitá-los, você precisa definir o sinalizador send_to_sync como true no objeto Android push e garantir que não haja campos title ou alert definidos, pois isso causará erros quando usado junto com send_to_sync- no entanto, você pode incluir dados extras no objeto.