Skip to content

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.

Xcode mostrando a caixa de seleção do modo "remote notifications" em "capabilities".

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.

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.

O dashboard da Braze mostrando a caixa de seleção "content-available" encontrada na guia "settings" do criador de push.

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:

  1. Receptores push. As notificações por push em segundo plano chamarão application:didReceiveRemoteNotification:fetchCompletionHandler: no UIApplicationDelegate.
  2. Delegado do app. Os pushes em segundo plano podem iniciar apps suspensos em segundo plano, disparando os métodos application:willFinishLaunchingWithOptions: e application:didFinishLaunchingWithOptions: no seu UIApplicationDelegate. Verifique os launchOptions desses 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.

New Stuff!