Ir para o conteúdo

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 da Braze. Você também precisará configurar notificações por push.

Configurando notificações por push silenciosas

Notificações silenciosas estão disponíveis por meio da API de envio de mensagens da Braze. Para utilizá-las, você precisa definir o flag send_to_sync como true no objeto push do Android e garantir que não haja campos title ou alert definidos, pois eles causarão erros quando usados junto com send_to_sync—no entanto, você pode incluir dados extras dentro do objeto.

Pré-requisitos

Antes de poder usar esse recurso, você precisará integrar o Braze Swift 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 bloqueio de notificações silenciosas do iOS pode ser a causa. Para saber mais, 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 trabalhos em segundo plano, você deve configurar seu app para receber notificações mesmo quando ele estiver em segundo plano. Para isso, adicione a capacidade Background Modes usando o painel Signing & Capabilities ao alvo principal do app no Xcode. Marque 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 o aplicativo explicitamente ou reiniciar o dispositivo antes que o app possa ser iniciado automaticamente em segundo plano pelo sistema.

Para saber mais, consulte pushing background updates e a documentação de application:didReceiveRemoteNotification:fetchCompletionHandler:.

Enviando notificações por push silenciosas

Para enviar uma notificação por push silenciosa, defina o flag content-available como 1 na carga útil de uma notificação por push.

O flag content-available pode ser definido no dashboard da Braze, bem como no 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 app possa fazer referência ao evento. Isso pode economizar algumas solicitações de rede e aumentar a responsividade do seu app.

Ignorando notificações por push internas

A Braze usa notificações por push silenciosas para gerenciar internamente certos recursos avançados, como o Uninstall Tracking. Se o seu app executa ações automáticas ao abrir o aplicativo ou ao receber pushes em segundo plano, considere controlar essa atividade para que ela não seja disparada por notificações por push internas.

Por exemplo, se você tem uma lógica que chama seus servidores para buscar novo conteúdo a cada push em segundo plano ou abertura do aplicativo, talvez queira evitar que os pushes internos da Braze disparem essa chamada, evitando tráfego de rede desnecessário. Como a Braze envia certos tipos de pushes internos para todos os usuários aproximadamente ao mesmo tempo, uma carga significativa no servidor pode ocorrer se as chamadas de rede na abertura não forem controladas.

Etapa 1: Verifique ações automáticas no seu app

Verifique se há ações automáticas no seu aplicativo nos seguintes locais e atualize seu código para ignorar os pushes internos da Braze:

  1. Push Receivers. Notificações por push em segundo plano chamam application:didReceiveRemoteNotification:fetchCompletionHandler: no UIApplicationDelegate.
  2. Application Delegate. Pushes em segundo plano podem iniciar apps suspensos em segundo plano, disparando os métodos application:willFinishLaunchingWithOptions: e application:didFinishLaunchingWithOptions: no seu UIApplicationDelegate. Verifique as 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 utilitário de push interno

Você pode usar o método utilitário estático em Braze.Notifications para verificar se o 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, incluindo Uninstall Tracking e notificações de sincronização de Feature Flags.

Por exemplo:

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)
  }
}
- (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 da Braze. Você também precisará configurar notificações por push.

Configurando notificações por push silenciosas

Notificações silenciosas estão disponíveis por meio da API de envio de mensagens da Braze. Para utilizá-las, você precisa definir o flag send_to_sync como true no objeto push do Android e garantir que não haja campos title ou alert definidos, pois eles causarão erros quando usados junto com send_to_sync—no entanto, você pode incluir dados extras dentro do objeto.

New Stuff!