Skip to content

Personalize notificações por push

Aprenda a personalizar notificações por push 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.

Usando um retorno de chamada para eventos de push

A Braze fornece um retorno de chamada subscribeToPushNotificationEvents() para quando notificações por push são recebidas, abertas ou descartadas. Recomenda-se colocar este retorno de chamada no seu Application.onCreate() para não perder nenhum evento que ocorra enquanto seu aplicativo não estiver em execução.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Braze.getInstance(context).subscribeToPushNotificationEvents(event -> {
  final BrazeNotificationPayload parsedData = event.getNotificationPayload();

  //
  // The type of notification itself
  //
  final boolean isPushOpenEvent = event.getEventType() == BrazePushEventType.NOTIFICATION_OPENED;
  final boolean isPushReceivedEvent = event.getEventType() == BrazePushEventType.NOTIFICATION_RECEIVED;
  // Sent when a user has dismissed a notification
  final boolean isPushDeletedEvent = event.getEventType() == BrazePushEventType.NOTIFICATION_DELETED;

  //
  // Notification data
  //
  final String pushTitle = parsedData.getTitleText();
  final Long pushArrivalTimeMs = parsedData.getNotificationReceivedTimestampMillis();
  final String deeplink = parsedData.getDeeplink();

  //
  // Custom KVP data
  //
  final String myCustomKvp1 = parsedData.getBrazeExtras().getString("my first kvp");
  final String myCustomKvp2 = parsedData.getBrazeExtras().getString("my second kvp");
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Braze.getInstance(context).subscribeToPushNotificationEvents { event ->
    val parsedData = event.notificationPayload

    //
    // The type of notification itself
    //
    val isPushOpenEvent = event.eventType == BrazePushEventType.NOTIFICATION_OPENED
    val isPushReceivedEvent = event.eventType == BrazePushEventType.NOTIFICATION_RECEIVED
    // Sent when a user has dismissed a notification
    val isPushDeletedEvent = event.eventType == BrazePushEventType.NOTIFICATION_DELETED

    //
    // Notification data
    //
    val pushTitle = parsedData.titleText
    val pushArrivalTimeMs = parsedData.notificationReceivedTimestampMillis
    val deeplink = parsedData.deeplink

    //
    // Custom KVP data
    //
    val myCustomKvp1 = parsedData.brazeExtras.getString("my first kvp")
    val myCustomKvp2 = parsedData.brazeExtras.getString("my second kvp")
}

Personalizando a exibição de notificações

Etapa 1: Crie sua fábrica de notificações personalizada

Em alguns cenários, você pode querer personalizar as notificações por push de maneiras que seriam complicadas ou não estariam disponíveis no lado do servidor. Para que você tenha controle total sobre a exibição de notificações, adicionamos a capacidade de definir seu próprio IBrazeNotificationFactory para criar objetos de notificação para serem exibidos pela Braze.

Se um IBrazeNotificationFactory personalizado for definido, a Braze chamará o método createNotification() da sua fábrica no recebimento do push antes que a notificação seja exibida ao usuário. A Braze transmitirá um Bundle contendo dados de push da Braze e outro Bundle contendo pares de chave-valor personalizados enviados por meio do dashboard ou das APIs de envio de mensagens:

A Braze passará um BrazeNotificationPayload contendo dados da notificação por push da Braze.

1
2
3
4
5
6
7
8
9
// Factory method implemented in your custom IBrazeNotificationFactory
@Override
public Notification createNotification(BrazeNotificationPayload brazeNotificationPayload) {
  // Example of getting notification title
  String title = brazeNotificationPayload.getTitleText();

  // Example of retrieving a custom KVP ("my_key" -> "my_value")
  String customKvp = brazeNotificationPayload.getBrazeExtras().getString("my_key");
}
1
2
3
4
5
6
7
8
// Factory method implemented in your custom IBrazeNotificationFactory
override fun createNotification(brazeNotificationPayload: BrazeNotificationPayload): Notification {
  // Example of getting notification title
  val title = brazeNotificationPayload.getTitleText()

  // Example of retrieving a custom KVP ("my_key" -> "my_value")
  val customKvp = brazeNotificationPayload.getBrazeExtras().getString("my_key")
}

Você pode retornar null do seu método personalizado createNotification() para não mostrar a notificação, usar BrazeNotificationFactory.getInstance().createNotification() para obter nosso objeto padrão notification para esses dados e modificá-lo antes da exibição, ou gerar um objeto notification completamente separado para exibição.

Etapa 2: Defina sua fábrica de notificações personalizada

Para instruir a Braze a usar sua fábrica de notificações personalizada, use o método setCustomBrazeNotificationFactory para definir seu IBrazeNotificationFactory:

1
setCustomBrazeNotificationFactory(IBrazeNotificationFactory brazeNotificationFactory);
1
setCustomBrazeNotificationFactory(brazeNotificationFactory: IBrazeNotificationFactory)

O local recomendado para definir seu IBrazeNotificationFactory personalizado é no método do ciclo de vida do aplicativo Application.onCreate() (não na atividade). Isso permitirá que a fábrica de notificações seja definida corretamente sempre que o processo do seu app estiver ativo.

Para cancelar a configuração personalizada do IBrazeNotificationFactory e retornar ao tratamento padrão da Braze para push, passe null para o configurador de fábrica de notificações personalizadas:

1
setCustomBrazeNotificationFactory(null);
1
setCustomBrazeNotificationFactory(null)

Renderizando texto multicolorido

Na versão 3.1.1 do SDK da Braze, é possível enviar HTML para um dispositivo para renderizar texto multicolorido em notificações por push.

Uma notificação por push Android com a mensagem de teste "Multicolor Push test message", onde as letras têm cores diferentes, estão em itálico e possuem uma cor de fundo.

Este exemplo é renderizado com o seguinte HTML:

1
2
3
<p><span style="color: #99cc00;">M</span>u<span style="color: #008080;">lti</span>Colo<span style="color: #ff6600;">r</span> <span style="color: #000080;">P</span><span style="color: #00ccff;">u</span><span style="color: #ff0000;">s</span><span style="color: #808080;">h</span></p>

<p><em>test</em> <span style="text-decoration: underline; background-color: #ff6600;"><strong>message</strong></span></p>

Lembre-se de que o Android limita quais elementos e tags HTML são válidos nas suas notificações por push. Por exemplo, marquee não é permitido.

Para renderizar texto multicolorido em uma notificação por push, você pode atualizar seu braze.xml ou BrazeConfig:

Adicione o seguinte no seu braze.xml:

1
<bool translatable="false" name="com_braze_push_notification_html_rendering_enabled">true</bool>

Adicione o seguinte no seu BrazeConfig:

1
2
3
4
BrazeConfig brazeConfig = new BrazeConfig.Builder()
  .setPushHtmlRenderingEnabled(true)
  .build();
Braze.configure(this, brazeConfig);
1
2
3
4
val brazeConfig = BrazeConfig.Builder()
    .setPushHtmlRenderingEnabled(true)
    .build()
Braze.configure(this, brazeConfig)

Tags HTML compatíveis

Atualmente, o Google não lista as tags HTML compatíveis com o Android diretamente na documentação—essa informação só pode ser encontrada no arquivo Html.java do repositório Git. Tenha isso em mente ao consultar a tabela a seguir, pois essas informações foram extraídas desse arquivo e as tags HTML compatíveis podem estar sujeitas a alterações.

Categoria Tag HTML Descrição
Estilo básico de texto <b>, <strong> Texto em negrito
<i>, <em> Texto em itálico
<u> Texto sublinhado
<s>, <strike>, <del> Texto tachado
<sup> Texto sobrescrito
<sub> Texto subscrito
<tt> Texto monoespaçado
Tamanho/Fonte <big>, <small> Alterações relativas no tamanho do texto
<font color="..."> Define a cor do primeiro plano
<span> (com CSS inline) Estilos inline (por exemplo, cor, fundo)
Parágrafo e bloco <p>, <div> Seções em nível de bloco
<br> Quebra de linha
<blockquote> Bloco de citação
<ul> + <li> Lista não ordenada com marcadores
Títulos <h1> - <h6> Títulos (vários tamanhos)
Links e imagens <a href="..."> Link clicável
<img src="..."> Imagem inline
Outros inline <em>, <strong>, <dfn>, <cite> Sinônimos para itálico ou negrito

Renderização de imagens inline

Como funciona

Você pode exibir uma imagem maior na sua notificação por push do Android usando o push com imagem inline. Com esse design, os usuários não precisam expandir manualmente o push para ampliar a imagem. Diferentemente das notificações por push padrão do Android, as imagens de push inline estão em uma proporção de 3:2.

Prévia de notificação por push do Android mostrando a renderização de push com imagem inline.

Compatibilidade

Embora você possa enviar imagens inline para qualquer dispositivo, dispositivos e SDKs que não atendam às versões mínimas exibirão uma imagem padrão. Para que as imagens inline sejam exibidas corretamente, é necessário o SDK Android da Braze v10.0.0+ e um dispositivo com Android M+. O SDK também precisa estar ativado para que a imagem seja renderizada.

Enviando um push com imagem inline

Ao criar uma mensagem de push para Android, esse recurso está disponível no menu suspenso Notification Type.

Editor de Campaign de push mostrando a localização do menu suspenso "Notification Type" próximo à prévia de push padrão.

Configurações

Existem muitas configurações avançadas disponíveis para notificações por push do Android enviadas pelo dashboard da Braze. Este artigo descreve esses recursos e como usá-los com sucesso.

Painel de configurações avançadas do criador de push Android da Braze.

ID de notificação

Um ID de notificação é um identificador exclusivo para uma categoria de mensagem de sua escolha que instrui o serviço de envio de mensagens a considerar apenas a mensagem mais recente desse ID. Definir um ID de notificação permite enviar apenas a mensagem mais recente e relevante, em vez de uma pilha de mensagens desatualizadas e irrelevantes.

Evitando que notificações duplicadas sejam sobrescritas

Por padrão, quando notificações por push têm títulos e textos de corpo idênticos, o Android gera o mesmo ID de notificação para ambas as mensagens, fazendo o hash das strings de título e corpo juntas. Isso faz com que a segunda notificação sobrescreva a primeira, resultando em apenas uma única notificação aparecendo na bandeja de notificações.

Para evitar que notificações idênticas sobrescrevam umas às outras, você pode especificar valores exclusivos de ID de notificação nas configurações de notificação por push do Android. Aqui estão algumas opções:

  • Usar template Liquid com timestamp: Gere um valor exclusivo com base no horário atual.
1
2
{% assign random_number = 'now' | date: '%s' | plus: 1000000 %}
{{random_number}}
  • Geração no lado do servidor: Para valores verdadeiramente aleatórios, gere o ID de notificação no seu servidor e passe-o por meio de Liquid. Isso garante que cada notificação tenha um identificador distinto, permitindo que várias notificações sejam exibidas simultaneamente.

Evitando que notificações duplicadas sejam sobrescritas

Por padrão, quando notificações por push têm títulos e textos de corpo idênticos, o Android gera o mesmo ID de notificação para ambas as mensagens, fazendo um hash do título e do corpo juntos. Isso faz com que a segunda notificação sobrescreva a primeira, resultando em apenas uma notificação aparecendo na bandeja de notificações.

Para evitar que notificações idênticas se sobrescrevam, você pode especificar valores únicos de ID de notificação nas configurações de notificação por push do Android. Aqui estão algumas opções:

  • Use templates Liquid com um timestamp: Gere um valor único com base no horário atual.
1
2
{% assign random_number = 'now' | date: '%s' | plus: 1000000 %}
{{random_number}}
  • Geração no lado do servidor: Para valores verdadeiramente aleatórios, gere o ID de notificação no seu servidor e passe-o via Liquid. Isso garante que cada notificação tenha um identificador distinto, permitindo que múltiplas notificações sejam exibidas simultaneamente.

Prioridade de entrega do Firebase Messaging

O campo Prioridade de entrega do Firebase Messaging permite controlar se um push é enviado com prioridade “normal” ou “alta” para o Firebase Cloud Messaging.

TTL

O campo Time to Live (TTL) permite definir um período personalizado para armazenar mensagens no serviço de envio de mensagens por push. Os valores padrão para o TTL são quatro semanas para FCM e 31 dias para ADM.

Texto de resumo

O texto de resumo permite definir um texto adicional na visualização expandida da notificação. Ele também serve como legenda para notificações com imagens.

Uma mensagem Android com o título "Este é o título da notificação." e texto de resumo "Este é o texto de resumo da notificação."

O texto de resumo será exibido abaixo do corpo da mensagem na visualização expandida.

Uma mensagem Android com o título "Este é o título da notificação." e texto de resumo "Este é o texto de resumo da notificação."

Para notificações por push que incluem imagens, o texto da mensagem será exibido na visualização recolhida, enquanto o texto de resumo será exibido como legenda da imagem quando a notificação for expandida.

URIs personalizados

O recurso URI personalizado permite especificar uma URL da web ou um recurso Android para navegar quando a notificação é clicada. Se nenhum URI personalizado for especificado, clicar na notificação leva os usuários ao seu app. Você pode usar o URI personalizado para fazer deep link dentro do seu app e direcionar os usuários a recursos que existem fora do seu app. Isso pode ser especificado por meio da API de envio de mensagens ou no nosso dashboard em Configurações avançadas no criador de push, conforme ilustrado:

A configuração avançada de deep linking no criador de push da Braze.

Prioridade de exibição da notificação

O nível de prioridade de uma notificação por push afeta como sua notificação é exibida na bandeja de notificações em relação a outras notificações. Também pode afetar a velocidade e a forma de entrega, já que mensagens de prioridade normal e inferior podem ser enviadas com latência ligeiramente maior ou agrupadas para preservar a vida útil da bateria, enquanto mensagens de alta prioridade são sempre enviadas imediatamente.

No Android O, a prioridade da notificação tornou-se uma propriedade dos canais de notificação. Você precisará trabalhar com seu desenvolvedor para definir a prioridade de um canal durante sua configuração e, em seguida, usar o dashboard para selecionar o canal adequado ao enviar os sons de notificação. Para dispositivos com versões do Android anteriores ao O, é possível especificar um nível de prioridade para notificações Android por meio do dashboard da Braze e da API de envio de mensagens.

Para enviar mensagens a toda a sua base de usuários com uma prioridade específica, recomendamos que você especifique a prioridade indiretamente por meio da configuração de canal de notificação (para dispositivos O+) e envie a prioridade individual pelo dashboard (para dispositivos <O).

Os níveis de prioridade que você pode definir em notificações por push do Android ou Fire OS são:

Prioridade Descrição/Uso pretendido Valor de priority (para mensagens de API)
Máxima Mensagens urgentes ou de tempo crítico 2
Alta Comunicação importante, como uma nova mensagem de um amigo 1
Padrão A maioria das notificações — use se sua mensagem não se enquadra explicitamente em nenhum dos outros tipos de prioridade 0
Baixa Informações que você deseja que os usuários saibam, mas que não exigem ação imediata -1
Mínima Informações contextuais ou de segundo plano. -2

Para saber mais, consulte a documentação do Google sobre notificações Android.

Sons

No Android O, os sons de notificação tornaram-se uma propriedade dos canais de notificação. Você precisará trabalhar com seu desenvolvedor para definir o som de um canal durante sua configuração e, em seguida, usar o dashboard para selecionar o canal adequado ao enviar suas notificações.

Para dispositivos com versões do Android anteriores ao O, a Braze permite definir o som de uma mensagem push individual por meio do criador no dashboard. Você pode fazer isso especificando um recurso de som local no dispositivo (por exemplo, android.resource://com.mycompany.myapp/raw/mysound). Especificar “default” neste campo reproduzirá o som de notificação padrão do dispositivo. Isso pode ser especificado por meio da API de envio de mensagens ou no dashboard em Configurações avançadas no criador de push.

A configuração avançada de som no criador de push da Braze.

Insira o URI completo do recurso de som (por exemplo, android.resource://com.mycompany.myapp/raw/mysound) no campo do dashboard.

Para enviar mensagens a toda a sua base de usuários com um som específico, recomendamos que você especifique o som indiretamente por meio da configuração de canal de notificação (para dispositivos O+) e envie o som individual pelo dashboard (para dispositivos <O).

Pré-requisitos

Antes de poder usar esse recurso, você precisará integrar o Swift Braze SDK. Você também precisará configurar notificações por push.

Personalizando botões de ação

O Braze Swift SDK fornece suporte ao tratamento de URL para botões de ação por push. Há quatro conjuntos de botões de ação por push padrão para as categorias de push padrão da Braze: Accept/Decline, Yes/No, Confirm/Cancel e More.

Um GIF de uma mensagem push sendo puxada para baixo para exibir dois botões de ação personalizáveis.

Registrando botões de ação manualmente

Se você configurar notificações por push usando a opção de configuração configuration.push.automation, a Braze registra automaticamente os botões de ação para as categorias de push padrão e gerencia a análise de dados de cliques dos botões de ação por push e o roteamento de URL.

No entanto, você pode optar por registrar botões de ação por push manualmente.

Etapa 1: Adicionando categorias push padrão da Braze

Use o seguinte código para se registrar nas categorias push padrão ao se registrar no push:

a

1
UNUserNotificationCenter.current().setNotificationCategories(Braze.Notifications.categories)
1
[[UNUserNotificationCenter currentNotificationCenter] setNotificationCategories:BRZNotifications.categories];

Etapa 2: Ativar o tratamento interativo de push

Para ativar o tratamento dos botões de ação por push, incluindo análise de dados de cliques e roteamento de URL, adicione o seguinte código ao método delegado didReceive(_:completionHandler:) do seu app:

1
AppDelegate.braze?.notifications.handleUserNotification(response: response, withCompletionHandler: completionHandler)
1
2
[AppDelegate.braze.notifications handleUserNotificationWithResponse:response
                                              withCompletionHandler:completionHandler];

Se você usar o framework UNNotification e tiver implementado os métodos de notificação da Braze, já deverá ter esse método integrado.

Personalizando categorias de push

Além de fornecer um conjunto de categorias de push padrão, a Braze oferece suporte a categorias e ações de notificação personalizadas. Depois de registrar as categorias no seu aplicativo, você pode usar o dashboard da Braze para enviar essas categorias de notificação personalizadas aos seus usuários.

Aqui está um exemplo que utiliza a LIKE_CATEGORY exibida no dispositivo:

Uma mensagem push exibindo dois botões de ação por push "unlike" e "like".

Etapa 1: Registre uma categoria

Para registrar uma categoria no seu app, use uma abordagem semelhante à seguinte:

1
2
3
4
5
6
7
8
9
10
Braze.Notifications.categories.insert(
  .init(identifier: "LIKE_CATEGORY",
        actions: [
          .init(identifier: "LIKE_IDENTIFIER", title: "Like", options: [.foreground]),
          .init(identifier: "UNLIKE_IDENTIFIER", title: "Unlike", options: [.foreground])
        ],
        intentIdentifiers: []
       )
)
UNUserNotificationCenter.current().setNotificationCategories(Braze.Notifications.categories)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
NSMutableSet<UNNotificationCategory *> *categories = [BRZNotifications.categories mutableCopy];

UNNotificationAction *likeAction = [UNNotificationAction actionWithIdentifier:@"LIKE_IDENTIFIER"
                                                                        title:@"Like"
                                                                      options:UNNotificationActionOptionForeground];

UNNotificationAction *unlikeAction = [UNNotificationAction actionWithIdentifier:@"UNLIKE_IDENTIFIER"
                                                                          title:@"Unlike"
                                                                        options:UNNotificationActionOptionForeground];

UNNotificationCategory *likeCategory = [UNNotificationCategory categoryWithIdentifier:@"LIKE_CATEGORY"
                                                                              actions:@[likeAction, unlikeAction]
                                                                    intentIdentifiers:@[]
                                                                              options:UNNotificationCategoryOptionNone];

[categories addObject:likeCategory];
[UNUserNotificationCenter.currentNotificationCenter setNotificationCategories:categories];

Etapa 2: Selecione suas categorias

Depois de registrar uma categoria, use o dashboard da Braze para enviar notificações desse tipo aos usuários.

  1. No dashboard da Braze, selecione Messaging > Push Notifications e, em seguida, escolha sua Campaign de push para iOS.
  2. Em Compose push notification, ative os Action Buttons.
  3. No menu suspenso iOS Notification Category, selecione Enter pre-registered custom iOS Category.
  4. Por fim, insira uma das categorias que você criou anteriormente. O exemplo a seguir usa a categoria personalizada: LIKE_CATEGORY.

O dashboard da Campaign de notificação por push com a configuração de categorias personalizadas.

Exemplo: categoria de push personalizada

Suponha que você queira criar uma notificação por push com dois botões de ação: Manage, que faz deep link no seu app, e Keep, que simplesmente descarta a notificação.

No exemplo a seguir, a ação MANAGE_IDENTIFIER inclui a opção .foreground, que abre o app quando tocada — isso é necessário porque fará deep link em uma parte específica do app. A ação KEEP_IDENTIFIER usa um array de opções vazio, o que significa que descartará a notificação sem abrir o app.

1
2
3
4
5
6
7
8
9
10
Braze.Notifications.categories.insert(
  .init(identifier: "YOUR_CATEGORY",
        actions: [
          .init(identifier: "KEEP_IDENTIFIER", title: "Keep", options: []),
          .init(identifier: "MANAGE_IDENTIFIER", title: "Manage", options: [.foreground])
        ],
        intentIdentifiers: []
       )
)
UNUserNotificationCenter.current().setNotificationCategories(Braze.Notifications.categories)

Como MANAGE_IDENTIFIER faz deep link no app, você deve configurar esse botão de ação no dashboard da Braze com a URL de deep link associada. No entanto, você não precisa definir um botão no dashboard para KEEP_IDENTIFIER porque ele apenas descarta a notificação. No dashboard, você só precisa inserir o nome da categoria (por exemplo, YOUR_CATEGORY) para corresponder ao que você registrou no código do seu app.

Personalizando emblemas

Os emblemas são ícones pequenos, ideais para chamar a atenção do usuário. Você pode especificar uma contagem de emblemas na guia Settings quando compuser uma notificação por push usando o dashboard da Braze. Você também pode atualizar a contagem de emblemas manualmente por meio da propriedade applicationIconBadgeNumber do aplicativo ou da carga útil da notificação remota.

A Braze limpará automaticamente a contagem de emblemas quando uma notificação da Braze for recebida enquanto o app estiver em primeiro plano. A configuração manual do número do emblema como 0 também limpará as notificações na central de notificações.

Se você não tiver um plano para limpar os emblemas como parte da operação normal do aplicativo ou enviando pushes que limpem o emblema, deverá limpar o emblema quando o aplicativo se tornar ativo, adicionando o seguinte código ao método sceneDidBecomeActive(_:) do arquivo SceneDelegate.swift (ou ao método delegado applicationDidBecomeActive: do seu app, caso ele ainda não tenha adotado o ciclo de vida UIScene):

1
2
3
4
5
6
7
8
9
10
// For iOS 16.0+
let center = UNUserNotificationCenter.current()
do {
  try await center.setBadgeCount(0)
} catch {
  // Handle errors
}

// Prior to iOS 16. Deprecated in iOS 17+.
UIApplication.shared.applicationIconBadgeNumber = 0
1
2
3
4
5
6
7
8
9
10
// For iOS 16.0+
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
[center setBadgeCount:0 withCompletionHandler:^(NSError * _Nullable error) {
    if (error != nil) {
        // Handle errors
    }
}];

// Prior to iOS 16. Deprecated in iOS 17+.
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;

Personalizando sons

Etapa 1: Hospede o som no seu app

Os sons de notificação por push personalizados devem ser hospedados localmente no pacote principal do seu app. São aceitos os seguintes formatos de dados de áudio:

  • PCM linear
  • MA4
  • µLaw
  • aLaw

É possível empacotar os dados de áudio em um arquivo AIFF, WAV ou CAF. No Xcode, adicione o arquivo de som ao seu projeto como um recurso não localizado do pacote de aplicativos.

Conversão de arquivos de som

Você pode usar a ferramenta afconvert para converter sons. Por exemplo, para converter o som do sistema PCM linear de 16 bits Submarine.aiff para áudio IMA4 em um arquivo CAF, use o seguinte comando no terminal:

1
afconvert /System/Library/Sounds/Submarine.aiff ~/Desktop/sub.caf -d ima4 -f caff -v

Etapa 2: Forneça uma URL de protocolo para o som

Você deve especificar uma URL de protocolo que direcione para o local do arquivo de som no seu app. Há dois métodos para fazer isso:

  • Use o parâmetro sound do objeto Apple push para passar a URL para a Braze.
  • Especifique a URL no dashboard. No criador do push, selecione Settings e insira a URL do protocolo no campo Sound.

O criador do push no dashboard da Braze

Se o arquivo de som especificado não existir ou se a palavra-chave “default” for inserida, a Braze usará o som de alerta padrão do dispositivo. Além do nosso dashboard, o som também pode ser configurado por meio da nossa [API de envio de mensagens][12].

Consulte a documentação para desenvolvedores da Apple sobre a preparação de sons de alerta personalizados para obter informações adicionais.

Configurações

Ao criar uma Campaign de push por meio do dashboard, clique na guia Settings na etapa Compose para visualizar as configurações avançadas disponíveis.

Guia de configurações de composição da Campaign de push iOS da Braze com opções avançadas.

Pares de chave-valor

A Braze permite que você envie pares de chave-valor de string personalizados, conhecidos como extras, juntamente com uma notificação por push para o seu app. Os extras podem ser definidos por meio do dashboard ou da API e estarão disponíveis como pares de chave-valor no dicionário notification passado para suas implementações de delegados push.

Opções de alerta

Marque a caixa de seleção Alert Options para ver um menu suspenso de valores-chave disponíveis para ajustar como a notificação aparece nos dispositivos.

Adição do sinalizador content-available

Marque a caixa de seleção Add Content-Available Flag para instruir os dispositivos a baixar novos conteúdos em segundo plano. Geralmente, isso pode ser marcado se você estiver interessado em enviar notificações silenciosas.

Adição do sinalizador de conteúdo mutável

Marque a caixa de seleção Add Mutable-Content Flag para ativar a personalização avançada do receptor. Esse sinalizador será enviado automaticamente ao criar uma notificação Rich, independentemente do valor dessa caixa de seleção.

ID de recolhimento

Especifique uma ID de recolhimento para agrupar notificações semelhantes. Se você enviar várias notificações com a mesma ID de recolhimento, o dispositivo mostrará apenas a notificação recebida mais recentemente. Consulte a documentação da Apple sobre notificações agrupadas.

Vencimento

Ao marcar a caixa de seleção Expiry, você poderá definir um tempo de expiração para sua mensagem. Se o dispositivo de um usuário perder a conectividade, a Braze continuará tentando enviar a mensagem até o horário especificado. Se isso não for definido, a plataforma terá como padrão uma expiração de 30 dias. Observe que as notificações por push que expiram antes da entrega não são consideradas falhas e não serão registradas como bounce.

Pré-requisitos

Antes de usar este recurso, você precisará integrar o SDK Android Braze. Você também precisará configurar notificações por push.

Configurações

Há muitas configurações avançadas disponíveis para as notificações por push do FireOS enviadas pelo dashboard da Braze. Este artigo descreve esses recursos e como usá-los com sucesso.

Painel de configurações avançadas do criador de push FireOS da Braze.

Time to live (TTL)

O campo Time to Live (TTL) permite que você defina um tempo personalizado para armazenar mensagens com o serviço de envio de mensagens push. Os valores padrão para TTL são quatro semanas para FCM e 31 dias para ADM.

Texto resumido

O texto de resumo permite que você defina texto adicional na visualização expandida da notificação. Ele também serve como legenda para notificações com imagens.

Uma mensagem do Android com o título "This is the title for the notification." e o texto de resumo "This is the summary text for the notification."

O texto do resumo será exibido sob o corpo da mensagem na exibição expandida.

Uma mensagem do Android com o título "This is the title for the notification." e o texto de resumo "This is the summary text for the notification."

Para notificações por push que incluem imagens, o texto da mensagem será mostrado na exibição recolhida, enquanto o texto do resumo será exibido como a legenda da imagem quando a notificação for expandida.

URIs personalizados

O recurso Custom URI permite que você especifique um URL da web ou um recurso do Android para navegar quando a notificação for clicada. Se nenhum URI personalizado for especificado, clicar na notificação leva os usuários para o seu app. Você pode usar o URI personalizado para fazer deep link dentro do seu app e direcionar os usuários para recursos que existem fora do seu app. Isso pode ser especificado por meio da API de envio de mensagens ou do nosso dashboard, em Advanced Settings, no criador de push, conforme ilustrado:

A configuração avançada de deep linking no criador de push da Braze.

Prioridade de exibição de notificações

O nível de prioridade de uma notificação por push afeta como sua notificação é exibida na bandeja de notificações em relação a outras notificações. Também pode afetar a velocidade e a maneira de entrega, pois mensagens normais e de baixa prioridade podem ser enviadas com uma latência ligeiramente maior ou agrupadas para preservar a vida útil da bateria, enquanto mensagens de alta prioridade são sempre enviadas imediatamente.

No Android O, a prioridade de notificação se tornou uma propriedade dos canais de notificação. Você precisará trabalhar com seu desenvolvedor para definir a prioridade de um canal durante sua configuração e, em seguida, usar o dashboard para selecionar o canal adequado ao enviar seus sons de notificação. Para dispositivos que executam versões do Android anteriores ao O, é possível especificar um nível de prioridade para as notificações do FireOS por meio do dashboard da Braze e da API de envio de mensagens.

Para enviar mensagens a toda a sua base de usuários com uma prioridade específica, recomendamos que especifique indiretamente a prioridade por meio da configuração do canal de notificação (para direcionar dispositivos O+) e envie a prioridade individual a partir do dashboard (para direcionar dispositivos <O).

Os níveis de prioridade que você pode definir nas notificações por push do Fire OS são:

Prioridade Descrição/Utilização pretendida Valor de priority (para mensagens de API)
Máx. Mensagens urgentes ou críticas em termos de tempo 2
Alta Comunicação importante, como uma nova mensagem de um amigo 1
Padrão A maioria das notificações — use se sua mensagem não se enquadrar explicitamente em nenhum dos outros tipos de prioridade 0
Baixa Informações que você deseja que os usuários saibam, mas que não exigem ação imediata -1
Mín. Informações contextuais ou de segundo plano. -2

Para saber mais, consulte a documentação de notificação do Android do Google.

Sons

No Android O, os sons de notificação se tornaram uma propriedade dos canais de notificação. Você precisará trabalhar com seu desenvolvedor para definir o som de um canal durante sua configuração e, em seguida, usar o dashboard para selecionar o canal adequado ao enviar suas notificações.

Para dispositivos executando versões do Android anteriores ao O, a Braze permite que você defina o som de uma mensagem push individual por meio do criador do dashboard. Você pode fazer isso especificando um recurso de som local no dispositivo (por exemplo, android.resource://com.mycompany.myapp/raw/mysound). Especificar “default” neste campo reproduzirá o som de notificação padrão no dispositivo. Isso pode ser especificado por meio da API de envio de mensagens ou do dashboard em Settings no criador de push.

A configuração avançada de som no criador de push da Braze.

Digite o URI completo do recurso de som (por exemplo, android.resource://com.mycompany.myapp/raw/mysound) no prompt do dashboard.

Para enviar mensagens a toda a sua base de usuários com um som específico, recomendamos que especifique indiretamente o som por meio da configuração do canal de notificação (para direcionar dispositivos O+) e envie o som individual a partir do dashboard (para direcionar dispositivos <O).

Pré-requisitos

Antes de poder usar esse recurso, você precisará integrar o React Native Braze SDK. Você também deve configurar notificações por push.

Personalização de push no React Native

O SDK React Native da Braze não expõe a personalização de notificações por push (botões de ação, categorias, fábricas de notificações personalizadas) por meio de sua API JavaScript. Esses recursos requerem configuração nativa em seus projetos iOS e Android.

A tabela a seguir mostra quais recursos requerem configuração nativa:

Recurso iOS Android
Botões de ação Configurar em Swift/Objective-C nativo Configurar em Java/Kotlin nativo
Categorias de push Configurar em Swift/Objective-C nativo Configurar em Java/Kotlin nativo
Fábrica de notificações personalizada N/D Configurar em Java/Kotlin nativo
Personalização de badge Configurar em Swift/Objective-C nativo N/D
Sons personalizados Configurar em Swift/Objective-C nativo Configurar em Java/Kotlin nativo

Personalização do iOS

Para adicionar botões de ação por push, categorias, badges ou sons personalizados no iOS, implemente a configuração nativa no seu AppDelegate (Swift ou Objective-C). Consulte Personalizar notificações por push – Swift para instruções passo a passo.

Personalização do Android

Para adicionar botões de ação por push, categorias ou uma fábrica de notificações personalizada no Android, implemente a configuração nativa no seu projeto Android. Consulte Personalizar notificações por push – Android para instruções passo a passo.

New Stuff!