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.
Se anteriormente usava um Receptor de Transmissão Personalizado para essa funcionalidade em seu aplicativo, você pode removê-lo com segurança em favor desta opção de integraçã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")
}
Com os botões de ação de notificação, as intenções BRAZE_PUSH_INTENT_NOTIFICATION_OPENED são acionadas quando os botões com ações opens app ou deep link são clicados. A administração de deep linking e extras permanece a mesma. Os botões com ações do close não disparam as intenções do BRAZE_PUSH_INTENT_NOTIFICATION_OPENED e dispensam a notificação automaticamente.
Crie seu ouvinte de notificação por push em Application.onCreate para garantir que o ouvinte seja disparado depois que um usuário final tocar em uma notificação enquanto o app estiver em um estado finalizado.
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 seus próprios IBrazeNotificationFactory para criar objetos de notificação para serem exibidos pelo Braze.
Se um IBrazeNotificationFactory personalizado for definido, o Braze chamará o método createNotification() de sua fábrica no recebimento do push antes que a notificação seja exibida ao usuário. O Braze transmitirá um Bundle contendo dados de envio do Braze e outro Bundle contendo pares de chave-valor personalizados enviados por meio do dashboard ou das APIs de envio de mensagens:
O Braze passará um arquivo 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 de 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.
Para obter a documentação sobre as chaves de dados push da Braze, consulte o SDK do Android.
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 (não na atividade) do ciclo de vida do aplicativo Application.onCreate(). Isso permitirá que a fábrica de notificações seja definida corretamente sempre que o processo do seu app estiver ativo.
Criar sua própria notificação do zero é um caso de uso avançado e deve ser feito somente com testes completos e um profundo conhecimento da funcionalidade push da Braze. Por exemplo, é preciso garantir que a notificação por push seja aberta corretamente.
Para cancelar sua configuração personalizada IBrazeNotificationFactory e retornar ao tratamento padrão do Braze para push, passe o endereço null para o nosso 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 Braze, HTML pode ser enviado a um dispositivo para renderizar texto multicolorido em notificações por push.

Esse 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>
Tenha em mente que o Android limita quais elementos e tags HTML são válidos em suas notificações por push. Por exemplo, marquee não é permitido.
A renderização de texto multicolorido é específica do dispositivo e pode não ser exibida com base no dispositivo ou versão do Android.
Para renderizar texto multicolorido em uma notificação por push, você pode atualizar seu braze.xml ou BrazeConfig:
Adicione o seguinte em braze.xml:
1
<bool translatable="false" name="com_braze_push_notification_html_rendering_enabled">true</bool>
Adicione o seguinte em 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 suportadas
Atualmente, o Google não lista suas tags HTML suportadas para Android diretamente em sua documentação—essa informação só pode ser encontrada no repositório Git Html.java arquivo deles. Tenha isso em mente ao consultar a tabela a seguir, pois essa informação foi extraída deste arquivo, e suas tags HTML suportadas podem estar sujeitas a alterações.
| Categoria | Tag HTML | Descrição |
|---|---|---|
| Estilização básica 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 em monoespaço | |
| Tamanho/Fonte | <big>, <small> |
Mudanças no tamanho do texto relativo |
<font color="..."> |
Define a cor do primeiro plano | |
<span> (com CSS inline) |
Estilos inline (e.g., cor, fundo) | |
| Parágrafo & Bloco | <p>, <div> |
Seções de nível de bloco |
<br> |
Quebra de linha | |
<blockquote> |
Bloco citado | |
<ul> + <li> |
Lista não ordenada com marcadores | |
| Títulos | <h1> - <h6> |
Títulos (vários tamanhos) |
| Links & Imagens | <a href="..."> |
Link clicável |
<img src="..."> |
Imagem inline | |
| Outro 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 dentro da sua notificação por push do Android usando push de imagem inline. Com esse design, os usuários não precisarão expandir manualmente o push para ampliar a imagem. Ao contrário das notificações por push normais do Android, as imagens inline por push têm uma proporção de 3:2.

Compatibilidade
Embora você possa enviar imagens inline para qualquer dispositivo, dispositivos e SDKs que não atendem às versões mínimas exibirão uma imagem padrão em vez disso. Para que as imagens inline sejam exibidas corretamente, tanto o SDK Braze do Android v10.0.0+ quanto um dispositivo rodando Android M+ são necessários. O SDK também deve estar habilitado para que a imagem seja renderizada.
Os dispositivos que executam o Android 12 serão renderizados de forma diferente devido a alterações nos estilos de notificação por push personalizados.
Enviando um push de imagem inline
Ao criar uma mensagem push para Android, esse recurso está disponível no menu suspenso Notification Type (Tipo de notificação ).

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

ID da notificação
Um ID de Notificação é um identificador único para uma categoria de mensagem de sua escolha que informa o serviço de envio de mensagens a respeitar apenas a mensagem mais recente desse ID. Definir um ID de notificação permite que você envie apenas a mensagem mais recente e relevante, em vez de uma pilha de mensagens desatualizadas e irrelevantes.
Prioridade de entrega de mensagem do Firebase
O campo Prioridade de entrega de mensagem do Firebase permite que você controle se um push é enviado com prioridade “normal” ou “alta” para o Firebase Cloud Messaging.
Time to live (TTL)
O campo TTL permite que você defina um tempo personalizado para armazenar mensagens com o serviço de push de envio de mensagens. 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.

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

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 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 de nosso dashboard, em Advanced Settings (Configurações avançadas), no criador de mensagens push, conforme ilustrado:

Prioridade de exibição de notificação
A configuração Prioridade de exibição de notificação não é mais usada em dispositivos com Android O ou mais recente. Para dispositivos mais novos, defina a prioridade por meio da configuração do canal de notificação.
O nível de prioridade de uma notificação por push afeta a forma como a 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, especificar um nível de prioridade para notificações do Android é possível através do dashboard do Braze e da API de envio de mensagens.
Para enviar mensagens para toda a sua base de usuários com uma prioridade específica, recomendamos que você especifique indiretamente a prioridade através 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 em notificações por push do Android ou Fire OS são:
| Prioridade | Descrição/Utilização Pretendida | priority valor (para mensagens de API) |
|---|---|---|
| Máx. | Mensagens urgentes ou críticas 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 fundo. | -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, o Braze permite que você defina o som de uma mensagem push individual através 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 “padrão” 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 Configurações avançadas no criador do push.

Digite o URI completo do recurso de som (por exemplo, android.resource://com.mycompany.myapp/raw/mysound) no prompt do dashboard.
Para enviar mensagens para toda a sua base de usuários com um som específico, recomendamos que você especifique indiretamente o som através 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 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 manuseio 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.

Registrando botões de ação manualmente
Registrar botões de ação por push manualmente não é recomendado.
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 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: Adição de categorias push padrão do 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];
Clicar nos botões de ação por push com o modo de ativação em segundo plano apenas descartará a notificação e não abrirá o app. Na próxima vez que o usuário abrir o app, a análise de dados do clique do botão para essas ações será enviada para o servidor.
Etapa 2: Ativar o manuseio interativo de push
Para ativar a manipulação de nossos 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 a estrutura UNNotification e tiver implementado os métodos de notificação do Braze, já deverá ter esse método integrado.
Personalizando categorias de push
Além de fornecer um conjunto de categorias de notificação por push padrão, o 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 do Braze para enviar essas categorias de notificação personalizadas aos seus usuários.
Aqui está um exemplo que aproveita o endereço LIKE_CATEGORY exibido no dispositivo:

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];
Ao criar um UNNotificationAction, você pode especificar uma lista de opções de ação. Por exemplo, .foreground permite que seus usuários abram seu app após tocar no botão de ação. Isso é necessário para comportamentos de navegação ao clicar, como “Abrir app” e “Deep link com o app”. Se você quiser um botão de ação que simplesmente descarte a notificação sem abrir o app, deixe .foreground fora do array options da ação. Para saber mais, consulte UNNotificationActionOptions.
Etapa 2: Selecione suas categorias
Depois de registrar uma categoria, use o dashboard do Braze para enviar notificações desse tipo aos usuários.
Você só precisa definir botões de ação no dashboard da Braze para comportamentos que não podem ser criados localmente no seu código Swift, como deep linking no seu app ou redirecionamento para uma URL da web. Essas ações precisam ser configuradas no dashboard para que possam definir qual URL ou deep link abrir. Para botões de ação que simplesmente descartam a notificação sem abrir o app, você não precisa configurá-los no dashboard—o comportamento de descarte é tratado automaticamente pelo iOS. Basta registrar sua categoria personalizada e suas ações no código do seu app, depois insira o nome da categoria correspondente no dashboard.
- No dashboard do Braze, selecione Envio de mensagens > Notificações por push e, em seguida, escolha sua campanha de push para iOS.
- Em Compose push notification (Notificação por push de composição), ative os botões de ação.
- No menu suspenso Categoria de notificação do iOS, selecione Inserir categoria personalizada pré-registrada do iOS.
- Por fim, insira uma das categorias que você criou anteriormente. O exemplo a seguir usa a categoria personalizada:
LIKE_CATEGORY.

Exemplo: Categoria de push personalizada
Suponha que você queira criar uma notificação por push com dois botões de ação: Gerenciar, que faz deep link no seu app, e Manter, 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 distintivos
Os emblemas são ícones pequenos, ideais para chamar a atenção do usuário. Você pode especificar uma contagem de distintivos na guia Configurações quando compuser uma notificação por push usando o dashboard do 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.
O Braze limpará automaticamente a contagem de emblemas quando uma notificação do Braze for recebida enquanto o app estiver em primeiro plano. A configuração manual do número do crachá como 0 também limpará as notificações na central de notificações.
Se você não tiver um plano para limpar os crachás como parte da operação normal do aplicativo ou enviando pushs que limpem o crachá, deverá limpar o crachá quando o aplicativo se tornar ativo, adicionando o seguinte código ao método delegado applicationDidBecomeActive: do seu aplicativo:
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 de 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.
Os sons personalizados devem ter menos de 30 segundos quando reproduzidos. Se um som personalizado estiver acima desse limite, o som padrão do sistema será reproduzido.
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
Você pode inspecionar um som para determinar seu formato de dados abrindo-o no QuickTime Player e escolhendo Mostrar Inspetor de Filme no menu Filme.
Etapa 2: Forneça uma URL de protocolo para o som
Você deve especificar um URL de protocolo que direcione para o local do arquivo de som em seu app. Há dois métodos para fazer isso:
- Use o parâmetro
sounddo objeto Apple push para passar o URL para o Braze. - Especifique o URL no dashboard. No criador do push, selecione Configurações e insira o URL do protocolo no campo Som.

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 através 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 campanha push por meio do dashboard, clique na guia Settings (Configurações) na etapa Compose (Redigir ) para visualizar as configurações avançadas disponíveis.

Pares de valores chave
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 valores-chave no dicionário notification passado para suas implementações de delegados push.
Opções de alerta
Marque a caixa de seleção Opções de alerta 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 Adicionar sinalizador de conteúdo disponível para instruir os dispositivos a baixar novos conteúdos em segundo plano. Geralmente, isso pode ser verificado 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 (Adicionar sinalizador de conteúdo mutável ) para ativar a capacitaçã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 colapso, o dispositivo mostrará apenas a notificação recebida mais recentemente. Consulte a documentação da Apple sobre notificações agrupadas.
Expiração
Ao marcar a caixa de seleção Vencimento, você poderá definir um tempo de expiração para sua mensagem. Se o dispositivo de um usuário perder a conectividade, o Braze continuará a tentar 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 do Braze. Este artigo descreverá esses recursos e como usá-los com sucesso.

Time-To-Live (TTL)
O campo TTL permite que você defina um tempo personalizado para armazenar mensagens com o serviço de push de envio de mensagens. 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.

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

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 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 de nosso dashboard, em Advanced Settings (Configurações avançadas), no criador de mensagens push, conforme ilustrado:

Prioridade de exibição de notificações
A configuração Prioridade de exibição de notificação não é mais usada em dispositivos com Android O ou mais recente. Para dispositivos mais novos, defina a prioridade por meio da configuração do canal de 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 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 do Braze e da API de envio de mensagens.
Para enviar mensagens para 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 envio de mensagens (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 | priority valor (para mensagens de API) |
|---|---|---|
| Máx. | Mensagens urgentes ou críticas 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 fundo. | -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, o Braze permite que você defina o som de uma mensagem push individual através 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 “padrão” 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 Configurações no criador de mensagens push.

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 envio de mensagens (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 Braze React Native não expõe a personalização de notificações por push (botões de ação, categorias, fábricas de notificações personalizadas) através 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 em seu AppDelegate (Swift ou Objective-C). Veja 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 em seu projeto Android. Veja Personalizar notificações por push – Android para instruções passo a passo.
Editar esta página no GitHub