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 obter mais detalhes, consulte a documentação sobre o método de instância e as notificações não recebidas da Apple.

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 Notificações remotas.

Xcode mostrando a caixa de seleção do modo "notificações remotas" em "capacidades".

Mesmo com o modo de fundo 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 as atualizações de fundo do push e a documentação do site application:didReceiveRemoteNotification:fetchCompletionHandler:.

Enviando notificações por push silenciosas

Para enviar uma notificação por push silenciosa, defina a content-available bandeira para 1 em uma carga útil de notificação por push.

A content-available flag pode ser definida no dashboard da Braze, assim como dentro do nosso objeto de push da Apple na API de envio de mensagens.

O dashboard do 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 querer 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.

Ignorar notificações por push internas

O Braze usa notificações por push silenciosas para lidar internamente com determinados recursos avançados, como rastreamento de desinstalação ou geofences. Se o seu app executa ações automáticas em inicializações de aplicativos ou push em segundo plano, considere a possibilidade de 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 lançamento de aplicativo, talvez queira impedir o disparo dos pushes internos do Braze para evitar tráfego de rede desnecessário. Como o Braze envia certos tipos de push internos para todos os usuários aproximadamente ao mesmo tempo, poderá ocorrer uma carga significativa no servidor se as chamadas de rede no lançamento de 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 do Braze:

  1. Receptores push. As notificações por push em segundo plano chamarão application:didReceiveRemoteNotification:fetchCompletionHandler: no site UIApplicationDelegate.
  2. Delegado do app. Os push em segundo plano podem iniciar apps suspensos em segundo plano, disparando os métodos application:willFinishLaunchingWithOptions: e application:didFinishLaunchingWithOptions: em 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 do utilitário estático em Braze.Notifications para verificar se seu app recebeu ou foi iniciado por um push interno da Braze. Braze.Notifications.isInternalNotification(_:) retornará true em todas as notificações por push internas da Braze, que incluem rastreamento de desinstalação, sincronização de sinalizadores de recursos e notificações de sincronização de geofences.

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!