Notificações por push
Notificações por push permitem que você envie notificações do seu app quando eventos importantes ocorrerem. Você pode enviar uma notificação por push quando tiver novas mensagens instantâneas para entregar, alertas de notícias de última hora para enviar ou o episódio mais recente do programa de TV favorito do seu usuário pronto para ele baixar para visualização offline. Eles também são mais eficientes do que a busca em segundo plano, pois seu aplicativo só é iniciado quando necessário.
Este guia usa exemplos de código do SDK da Braze para Web 4.0.0+. Para fazer upgrade para a versão mais recente do SDK para Web, consulte o Guia de atualização do SDK.
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o Web Braze SDK.
Protocolos push
As notificações por push da Web são implementadas usando o padrão push do W3C, que é suportado pela maioria dos principais navegadores. Para saber mais sobre padrões específicos de protocolo push e suporte a navegadores, consulte os recursos da Apple , Mozilla e Microsoft.
Configuração de notificações por push
Etapa 1: Configure seu service worker
No arquivo service-worker.js de seu projeto, adicione o seguinte trecho e defina a opção de manageServiceWorkerExternally para true ao inicializar o Web SDK.
Seu servidor da Web deve retornar um Content-Type: application/javascript ao servir seu arquivo de service worker. Além disso, se o arquivo do service worker não tiver o nome service-worker.js, você precisará usar a opção de inicialização serviceWorkerLocation.
Etapa 2: Registre o navegador
Para solicitar imediatamente permissões por push de um usuário para que seu navegador possa receber notificações por push, ligue para braze.requestPushPermission(). Para testar primeiro se o push é compatível com o navegador, ligue para braze.isPushSupported().
Também é possível enviar um prompt de soft push para o usuário antes de solicitar permissão de push para mostrar sua própria interface de usuário relacionada a push.
No MacOS, tanto o Google Chrome quanto o Google Chrome Helper (Alertas) devem ser ativados pelo usuário final em Configurações do sistema > Notificações antes que as notificações por push possam ser exibidas - mesmo que as permissões sejam concedidas.
Etapa 3: Desativar skipWaiting (opcional)
O arquivo de serviço do Braze chamará automaticamente o endereço skipWaiting após a instalação. Se quiser desativar essa funcionalidade, adicione o seguinte código ao seu arquivo de service worker, depois de importar o Braze:
Cancelamento da inscrição de um usuário
Para cancelar a inscrição de um usuário, ligue para braze.unregisterPush().
As versões recentes do Safari e do Firefox exigem que você chame esse método a partir de um manipulador de eventos de curta duração (como um manipulador de clique de botão ou um prompt soft push). Isso está de acordo com as práticas recomendadas de experiência do usuário do Chrome para registro push.
Domínios alternativos
Para integrar o web push, seu domínio deve ser seguro, o que geralmente significa https, localhost e outras exceções, conforme definido no padrão push do W3C. Você também precisará ser capaz de registrar um Service Worker na raiz do seu domínio ou, pelo menos, controlar os cabeçalhos HTTP desse arquivo. Este artigo aborda como integrar os web pushes da Braze em um domínio alternativo.
Casos de uso
Se não for possível atender a todos os critérios descritos no padrão push do W3C, você poderá usar esse método para adicionar uma caixa de diálogo de prompt push ao seu site. Isso pode ser útil se você quiser permitir que os usuários façam o pedido de aceitação em um site http ou em um pop-up de extensão do navegador que esteja impedindo a exibição do seu pedido de push.
Considerações
Lembre-se de que, como muitas soluções alternativas na Web, os navegadores evoluem continuamente, e esse método pode não ser viável no futuro. Antes de continuar, certifique-se de que:
- Você possui um domínio seguro separado (
https://) e permissões para registrar um Service Worker nesse domínio. - Os usuários são registrados no seu site, o que garante que os tokens por push correspondam ao perfil correto.
Você não pode usar esse método para implementar notificações por push para a Shopify. A Shopify removerá automaticamente os cabeçalhos necessários para entregar o push dessa forma.
Configuração de um domínio push alternativo
Para deixar claro o exemplo a seguir, usaremos http://insecure.com e https://secure.com como nossos dois domínios, com o objetivo de fazer com que os visitantes se registrem para push em http://insecure.com. Esse exemplo também poderia ser aplicado a um esquema chrome-extension:// para a página pop-up de uma extensão de navegador.
Etapa 1: Iniciar o fluxo de solicitação
Em insecure.com, abra uma nova janela para o seu domínio seguro usando um parâmetro de URL para passar o ID externo Braze do usuário atualmente registrado.
http://insecure.com
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<button id="opt-in">Opt-In For Push</button>
<script>
// the same ID you would use with `braze.changeUser`:
const user_id = getUserIdSomehow();
// pass the user ID into the secure domain URL:
const secure_url = `https://secure.com/push-registration.html?external_id=${user_id}`;
// when the user takes some action, open the secure URL in a new window
document.getElementById("opt-in").onclick = function(){
if (!window.open(secure_url, 'Opt-In to Push', 'height=500,width=600,left=150,top=150')) {
window.alert('The popup was blocked by your browser');
} else {
// user is shown a popup window
// and you can now prompt for push in this window
}
}
</script>
Etapa 2: Registro para push
No momento, o site secure.com abrirá uma janela pop-up na qual você poderá inicializar o Braze Web SDK para o mesmo ID de usuário e solicitar a permissão do usuário para o web push.
https://secure.com/push-registration.html
Etapa 3: Comunicação entre domínios (opcional)
Agora que os usuários podem fazer a aceitação a partir desse fluxo de trabalho originado em insecure.com, convém modificar seu site com base no fato de o usuário já ter feito a aceitação ou não. Não faz sentido pedir ao usuário que se registre no push se ele já estiver registrado.
Você pode usar iFrames e a API postMessage para se comunicar entre seus dois domínios.
insecure.com
Em nosso domínio insecure.com, solicitaremos ao domínio seguro (onde o push está realmente registrado) informações sobre o registro push do usuário atual:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!-- Create an iframe to the secure domain and run getPushStatus onload-->
<iframe id="push-status" src="https://secure.com/push-status.html" onload="getPushStatus()" style="display:none;"></iframe>
<script>
function getPushStatus(event){
// send a message to the iframe asking for push status
event.target.contentWindow.postMessage({type: 'get_push_status'}, 'https://secure.com');
// listen for a response from the iframe's domain
window.addEventListener("message", (event) => {
if (event.origin === "http://insecure.com" && event.data.type === 'set_push_status') {
// update the page based on the push permission we're told
window.alert(`Is user registered for push? ${event.data.isPushPermissionGranted}`);
}
}
}
</script>
secure.com/push-status.html
Perguntas frequentes (FAQ)
Trabalhadores de serviços
E se eu não conseguir registrar um service worker no diretório raiz?
Por padrão, um service worker só pode ser usado no mesmo diretório em que está registrado. Por exemplo, se o seu arquivo de service worker existir em /assets/service-worker.js, só será possível registrá-lo em example.com/assets/* ou em um subdiretório da pasta assets, mas não na sua página inicial (example.com/). Por isso, é recomendável hospedar e registrar o service worker no diretório raiz (como https://example.com/service-worker.js).
Se não for possível registrar um service worker no domínio raiz, uma alternativa é usar o cabeçalho HTTP Service-Worker-Allowed ao servir o arquivo do service worker. Ao configurar seu servidor para retornar Service-Worker-Allowed: / na resposta para o service worker, isso instruirá o navegador a ampliar o escopo e permitir que ele seja usado em um diretório diferente.
Posso criar um service worker usando um Tag Manager?
Não, os service workers devem ser hospedados no servidor de seu site e não podem ser carregados por meio do Tag Manager.
Segurança do site
O HTTPS é necessário?
Sim. Os padrões da web exigem que o domínio que está solicitando a permissão de notificação por push seja seguro.
Quando um site é considerado “seguro”?
Um site é considerado seguro se corresponder a um dos seguintes padrões de origem segura. As notificações por push do Braze Web são criadas com base nesse padrão aberto, de modo que os ataques man-in-the-middle são evitados.
(https, , *)(wss, *, *)(, localhost, )(, .localhost, *)(, 127/8, )(, ::1/128, *)(file, *, —)(chrome-extension, *, —)
E se um site seguro não estiver disponível?
Embora a prática recomendada do setor seja tornar todo o site seguro, os clientes que não podem proteger o domínio do site podem contornar o requisito usando um modal seguro. Saiba mais em nosso guia para usar o Alternar o domínio de push ou veja uma demonstração funcional.
Pré-requisitos
Antes de usar este recurso, você precisará integrar o SDK Android Braze.
Recursos integrados
Os seguintes recursos estão integrados ao SDK Android do Braze. Para usar quaisquer outros recursos de notificação por push, você precisará configurar notificações por push para seu app.
| Recurso | Descrição |
|---|---|
| Stories por push | As Histórias de Push do Android estão integradas ao SDK Android do Braze por padrão. Para saber mais, veja Histórias de Push. |
| Primers Push | Campanhas de push primer incentivam seus usuários a ativar notificações por push em seu dispositivo para seu app. Isso pode ser feito sem personalização de SDK usando nosso Push Primer sem código. |
Sobre o ciclo de vida da notificação por push
O fluxograma a seguir mostra como o Braze lida com o ciclo de vida da notificação por push, como solicitações de permissão, geração de token e entrega de mensagens.
Configurando notificações por push
Para conferir um app de exemplo usando FCM com o SDK Android do Braze, veja Braze: App de amostra de push do Firebase.
Limites de taxa
A API do Firebase Cloud Messaging (FCM) tem um limite de frequência padrão de 600.000 solicitações por minuto. Se você atingir esse limite, o Braze tentará automaticamente outra vez em alguns minutos. Para solicitar um aumento, entre em contato com o suporte do Firebase.
Etapa 1: Adicione o Firebase ao seu projeto
Primeiro, adicione o Firebase ao seu projeto Android. Para obter instruções passo a passo, consulte o guia de configuração do Firebase do Google.
Etapa 2: Adicione o Cloud Messaging às suas dependências
Em seguida, adicione a biblioteca do Cloud Messaging às dependências de seu projeto. Em seu projeto Android, abra build.gradle e, em seguida, adicione a seguinte linha ao bloco dependencies.
1
implementation "google.firebase:firebase-messaging:+"
Suas dependências devem ser semelhantes às seguintes:
1
2
3
4
dependencies {
implementation project(':android-sdk-ui')
implementation "com.google.firebase:firebase-messaging:+"
}
Etapa 3: Ativar a API de envio de mensagens do Firebase Cloud
No Google Cloud, selecione o projeto que seu app Android está usando e ative a API do Firebase Cloud Messaging.

Etapa 4: Crie uma conta de serviço
Em seguida, crie uma nova conta de serviço, para que a Braze possa fazer chamadas de API autorizadas ao registrar tokens FCM. No Google Cloud, acesse Contas de Serviço, depois escolha seu projeto. Na página Contas de serviço, selecione Criar conta de serviço.

Insira um nome de conta de serviço, ID e descrição, em seguida selecione Criar e continuar.

No campo Função, localize e selecione Firebase Cloud Messaging API Admin na lista de funções. Para obter acesso mais restritivo, crie uma função personalizada com a permissão cloudmessaging.messages.create e, em vez disso, escolha-a na lista. Quando terminar, selecione Concluído.
Selecione Admin da API do Firebase Cloud Messaging, não Admin do Firebase Cloud Messaging.

Etapa 5: Gerar credenciais JSON
Em seguida, gere credenciais JSON para sua conta de serviço FCM. No Google Cloud IAM & Admin, vá para Contas de Serviço, e escolha seu projeto. Localize a conta de serviço FCM que você criou anteriormente e selecione Actions > Manage Keys.

Selecione Adicionar chave > Criar nova chave.

Escolha JSON e, em seguida, selecione Create (Criar). Se você criou sua conta de serviço usando um ID de projeto do Google Cloud diferente do ID de projeto do FCM, será necessário atualizar manualmente o valor atribuído ao project_id no seu arquivo JSON.
Lembre-se de onde baixou a chave - você precisará dela na próxima etapa.

As chaves privadas podem representar um risco de segurança se forem comprometidas. Armazene suas credenciais JSON em um local seguro por enquanto - você excluirá sua chave depois de fazer upload dela no Braze.
Etapa 6: Faça upload de suas credenciais JSON na Braze
Em seguida, faça upload de suas credenciais JSON em seu dashboard da Braze. Na Braze, selecione Configurações > Configurações do app.

Nas configurações de notificação por push do seu app para Android, escolha Firebase, selecione Upload JSON File e faça upload das credenciais geradas anteriormente. Quando terminar, selecione Salvar.

As chaves privadas podem representar um risco de segurança se forem comprometidas. Agora que sua chave foi carregada na Braze, exclua o arquivo gerado anteriormente.
Etapa 7: Configure o registro automático de tokens
Quando um de seus usuários aceita notificações por push, seu app precisa gerar um token FCM no dispositivo dele antes de poder enviar notificações por push. Com o SDK do Braze, é possível ativar o registro automático do token FCM para cada dispositivo do usuário nos arquivos de configuração do Braze do seu projeto.
Primeiro, acesse o Firebase Console, abra seu projeto e selecione Settings > Project settings.

Selecione Envio de mensagens na nuvem e, em seguida, em Firebase Cloud Messaging API (V1), copie o número no campo Sender ID (ID do remetente ).

Em seguida, abra seu projeto do Android Studio e use seu Firebase Sender ID para ativar o registro automático do token FCM em braze.xml ou BrazeConfig.
Para configurar o registro automático do token FCM, adicione as seguintes linhas ao arquivo braze.xml:
1
2
<bool translatable="false" name="com_braze_firebase_cloud_messaging_registration_enabled">true</bool>
<string translatable="false" name="com_braze_firebase_cloud_messaging_sender_id">FIREBASE_SENDER_ID</string>
Substitua FIREBASE_SENDER_ID pelo valor que você copiou das configurações do projeto Firebase. braze.xml deve ser semelhante ao seguinte:
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string translatable="false" name="com_braze_api_key">12345ABC-6789-DEFG-0123-HIJK456789LM</string>
<bool translatable="false" name="com_braze_firebase_cloud_messaging_registration_enabled">true</bool>
<string translatable="false" name="com_braze_firebase_cloud_messaging_sender_id">603679405392</string>
</resources>
Para configurar o registro automático do token FCM, adicione as seguintes linhas a BrazeConfig:
1
2
.setIsFirebaseCloudMessagingRegistrationEnabled(true)
.setFirebaseCloudMessagingSenderIdKey("FIREBASE_SENDER_ID")
1
2
.setIsFirebaseCloudMessagingRegistrationEnabled(true)
.setFirebaseCloudMessagingSenderIdKey("FIREBASE_SENDER_ID")
Substitua FIREBASE_SENDER_ID pelo valor que você copiou das configurações do projeto Firebase. BrazeConfig deve ser semelhante ao seguinte:
1
2
3
4
5
6
7
8
9
10
BrazeConfig brazeConfig = new BrazeConfig.Builder()
.setApiKey("12345ABC-6789-DEFG-0123-HIJK456789LM")
.setCustomEndpoint("sdk.iad-01.braze.com")
.setSessionTimeout(60)
.setHandlePushDeepLinksAutomatically(true)
.setGreatNetworkDataFlushInterval(10)
.setIsFirebaseCloudMessagingRegistrationEnabled(true)
.setFirebaseCloudMessagingSenderIdKey("603679405392")
.build();
Braze.configure(this, brazeConfig);
1
2
3
4
5
6
7
8
9
10
val brazeConfig = BrazeConfig.Builder()
.setApiKey("12345ABC-6789-DEFG-0123-HIJK456789LM")
.setCustomEndpoint("sdk.iad-01.braze.com")
.setSessionTimeout(60)
.setHandlePushDeepLinksAutomatically(true)
.setGreatNetworkDataFlushInterval(10)
.setIsFirebaseCloudMessagingRegistrationEnabled(true)
.setFirebaseCloudMessagingSenderIdKey("603679405392")
.build()
Braze.configure(this, brazeConfig)
Se, em vez disso, você quiser registrar manualmente os tokens do FCM, poderá chamar Braze.setRegisteredPushToken() dentro do método onCreate() do aplicativo.
Etapa 8: Remover solicitações automáticas em sua classe de aplicativo
Para evitar que a Braze dispare solicitações de rede desnecessárias sempre que você enviar notificações por push silenciosas, remova todas as solicitações de rede automáticas configuradas no método onCreate() de sua classe Application. Para saber mais, consulte Android Developer Reference: Aplicativo.
Exibindo notificações
Etapa 1: Registre o serviço de envio de mensagens do Braze Firebase
Você pode criar um novo, existente ou um serviço de mensagens Firebase não-Braze. Escolha o que melhor atende às suas necessidades específicas.
A Braze oferece um serviço para lidar com recebimento de push e intenções de abertura. Nossa classe BrazeFirebaseMessagingService precisará ser registrada em seu site AndroidManifest.xml:
1
2
3
4
5
6
<service android:name="com.braze.push.BrazeFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
Nosso código de notificação também usa o site BrazeFirebaseMessagingService para lidar com o rastreamento de ações de abertura e cliques. Esse serviço deve ser registrado no site AndroidManifest.xml para funcionar corretamente. Além disso, lembre-se de que o Braze prefixa as notificações de nosso sistema com uma chave exclusiva, de modo que só renderizamos as notificações enviadas de nossos sistemas. Você pode registrar serviços adicionais separadamente para processar as notificações enviadas por outros serviços da FCM. Veja AndroidManifest.xml no aplicativo de exemplo de push do Firebase.
Antes do Braze SDK 3.1.1, o AppboyFcmReceiver era usado para lidar com o push FCM. A classe AppboyFcmReceiver deve ser removida de seu manifesto e substituída pela integração anterior.
Se você já tiver um serviço de envio de mensagens do Firebase registrado, poderá passar objetos RemoteMessage para o Braze via BrazeFirebaseMessagingService.handleBrazeRemoteMessage(). Esse método só exibirá uma notificação se o objeto RemoteMessage for originário do Braze e, caso contrário, será ignorado com segurança.
1
2
3
4
5
6
7
8
9
10
11
12
13
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
if (BrazeFirebaseMessagingService.handleBrazeRemoteMessage(this, remoteMessage)) {
// This Remote Message originated from Braze and a push notification was displayed.
// No further action is needed.
} else {
// This Remote Message did not originate from Braze.
// No action was taken and you can safely pass this Remote Message to other handlers.
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
class MyFirebaseMessagingService : FirebaseMessagingService() {
override fun onMessageReceived(remoteMessage: RemoteMessage?) {
super.onMessageReceived(remoteMessage)
if (BrazeFirebaseMessagingService.handleBrazeRemoteMessage(this, remoteMessage)) {
// This Remote Message originated from Braze and a push notification was displayed.
// No further action is needed.
} else {
// This Remote Message did not originate from Braze.
// No action was taken and you can safely pass this Remote Message to other handlers.
}
}
}
Se você tiver outro Firebase Messaging Service que também gostaria de usar, especifique um Firebase Messaging Service de fallback para chamar se o aplicativo receber um push que não seja da Braze.
Em braze.xml, especifique:
1
2
<bool name="com_braze_fallback_firebase_cloud_messaging_service_enabled">true</bool>
<string name="com_braze_fallback_firebase_cloud_messaging_service_classpath">com.company.OurFirebaseMessagingService</string>
ou definido por meio da configuração de tempo de execução:
1
2
3
4
5
BrazeConfig brazeConfig = new BrazeConfig.Builder()
.setFallbackFirebaseMessagingServiceEnabled(true)
.setFallbackFirebaseMessagingServiceClasspath("com.company.OurFirebaseMessagingService")
.build();
Braze.configure(this, brazeConfig);
1
2
3
4
5
val brazeConfig = BrazeConfig.Builder()
.setFallbackFirebaseMessagingServiceEnabled(true)
.setFallbackFirebaseMessagingServiceClasspath("com.company.OurFirebaseMessagingService")
.build()
Braze.configure(this, brazeConfig)
Etapa 2: Adequar os ícones pequenos às diretrizes de design
Para obter informações gerais sobre os ícones de notificação do Android, visite a visão geral de Notificações.
A partir do Android N, você deve atualizar ou remover pequenos ativos de ícones de notificação que envolvam cores. O sistema Android (não o SDK do Braze) ignora todos os canais não alfa e de transparência nos ícones de ação e no ícone pequeno de notificação. Em outras palavras, o Android converterá todas as partes do seu pequeno ícone de notificação em monocromático, exceto as regiões transparentes.
Para criar um ativo de ícone pequeno de notificação que exiba corretamente:
- Remova todas as cores da imagem, exceto o branco.
- Todas as outras regiões não brancas do ativo devem ser transparentes.
Um sintoma comum de um ativo inadequado é a renderização do pequeno ícone de notificação como um quadrado monocromático sólido. Isso se deve ao fato de o sistema Android não conseguir encontrar nenhuma região transparente no ativo do ícone pequeno de notificação.
Os ícones grandes e pequenos a seguir são exemplos de ícones projetados adequadamente:
![]()
Etapa 3: Configure ícones de notificação
Especificação de ícones em braze.xml
A Braze permite que você configure seus ícones de notificação especificando recursos desenháveis em braze.xml:
1
2
<drawable name="com_braze_push_small_notification_icon">REPLACE_WITH_YOUR_ICON</drawable>
<drawable name="com_braze_push_large_notification_icon">REPLACE_WITH_YOUR_ICON</drawable>
É necessário definir um pequeno ícone de notificação. Se você não definir um, o Braze usará, por padrão, o ícone do aplicativo como o pequeno ícone de notificação, o que pode não parecer ideal.
A definição de um ícone de notificação grande é opcional, mas recomendada.
Especificação da cor de destaque do ícone
A cor de destaque do ícone de notificação pode ser substituída em seu site braze.xml. Se a cor não for especificada, a cor padrão será o mesmo cinza que o Lollipop usa para as notificações do sistema.
1
<integer name="com_braze_default_notification_accent_color">0xFFf33e3e</integer>
Opcionalmente, você também pode usar uma referência de cor:
1
<color name="com_braze_default_notification_accent_color">@color/my_color_here</color>
Etapa 4: Adicionar deep linking
Ativando a abertura automática de deep linking
Para permitir que a Braze abra automaticamente seu app e quaisquer deep links quando uma notificação por push for clicada, defina com_braze_handle_push_deep_links_automatically como true em seu braze.xml:
1
<bool name="com_braze_handle_push_deep_links_automatically">true</bool>
Esse sinalizador também pode ser definido por meio da configuração do tempo de execução:
1
2
3
4
BrazeConfig brazeConfig = new BrazeConfig.Builder()
.setHandlePushDeepLinksAutomatically(true)
.build();
Braze.configure(this, brazeConfig);
1
2
3
4
val brazeConfig = BrazeConfig.Builder()
.setHandlePushDeepLinksAutomatically(true)
.build()
Braze.configure(this, brazeConfig)
Se quiser personalizar o tratamento de deep linkings, você precisará criar um retorno de chamada de push que escute as intenções de push recebidas e abertas da Braze. Para mais informações, veja Usando um retorno de chamada para eventos de push.
Criação de deep links personalizados
Siga as instruções encontradas na documentação do desenvolvedor Android sobre deep linking se você ainda não adicionou deep links ao seu app. Para saber mais sobre o que são deep linkings, consulte nosso artigo de perguntas frequentes.
Adicionar deep links
O dashboard do Braze oferece suporte à configuração de deep links ou URLs da Web em campanhas de notificações por push e canvas que serão abertos quando a notificação for clicada.

Personalização do comportamento da pilha traseira
O SDK do Android, por padrão, colocará a atividade principal do iniciador do seu app host na pilha traseira ao seguir push deep links. A Braze permite definir uma atividade personalizada para ser aberta na pilha traseira no lugar da atividade principal do iniciador ou desativar a pilha traseira completamente.
Por exemplo, para definir uma atividade chamada YourMainActivity como a atividade de back stack usando a configuração de tempo de execução:
1
2
3
4
5
BrazeConfig brazeConfig = new BrazeConfig.Builder()
.setPushDeepLinkBackStackActivityEnabled(true)
.setPushDeepLinkBackStackActivityClass(YourMainActivity.class)
.build();
Braze.configure(this, brazeConfig);
1
2
3
4
5
val brazeConfig = BrazeConfig.Builder()
.setPushDeepLinkBackStackActivityEnabled(true)
.setPushDeepLinkBackStackActivityClass(YourMainActivity.class)
.build()
Braze.configure(this, brazeConfig)
Veja a configuração equivalente para seu braze.xml. Note que o nome da classe deve ser o mesmo retornado por Class.forName().
1
2
<bool name="com_braze_push_deep_link_back_stack_activity_enabled">true</bool>
<string name="com_braze_push_deep_link_back_stack_activity_class_name">your.package.name.YourMainActivity</string>
Etapa 5: Definir canais de notificação
O SDK do Braze para Android é compatível com os canais de notificação do Android. Se uma notificação do Braze não contiver o ID de um canal de notificação ou se uma notificação do Braze contiver um ID de canal inválido, o Braze exibirá a notificação com o canal de notificação padrão definido no SDK. Os usuários do Braze usam os canais de notificação do Android na plataforma para agrupar notificações.
Para definir o nome do canal de notificação padrão do Braze voltado para o usuário, use BrazeConfig.setDefaultNotificationChannelName().
Para definir a descrição voltada para o usuário do canal de notificação padrão do Braze, use BrazeConfig.setDefaultNotificationChannelDescription().
Atualize todas as campanhas da API com o parâmetro de objeto Android push para incluir o campo notification_channel. Se esse campo não for especificado, o Braze enviará a carga útil da notificação com o ID do canal fallback dashboard.
Além do canal de notificação padrão, a Braze não criará nenhum canal. Todos os outros canais devem ser definidos programaticamente pelo app host e, em seguida, inseridos no dashboard da Braze.
O nome e a descrição padrão do canal também podem ser configurados em braze.xml.
1
2
<string name="com_braze_default_notification_channel_name">Your channel name</string>
<string name="com_braze_default_notification_channel_description">Your channel description</string>
Etapa 6: Teste a exibição de notificações e a análise de dados
Tela de teste
Nesse ponto, você poderá ver as notificações enviadas pelo Braze. Para testar isso, acesse a página Campaigns (Campanhas ) em seu dashboard do Braze e crie uma campanha de notificação por push. Escolha o Android Push e crie sua mensagem. Em seguida, clique no ícone do olho no criador para obter o remetente de teste. Digite o ID do usuário ou o endereço de e-mail do usuário atual e clique em Send Test (Enviar teste). Você deverá ver o push aparecer em seu dispositivo.

Para problemas relacionados ao push display, consulte nosso guia de solução de problemas.
Análise de dados de teste
Nesse ponto, você também deve ter registro de análise de dados para aberturas de notificações por push. Ao clicar na notificação quando ela chegar, as aberturas diretas na página de resultados de sua campanha deverão aumentar em 1. Confira nosso artigo sobre relatórios push para obter informações detalhadas sobre a análise de dados push.
Para problemas relacionados à análise de dados por push, consulte nosso guia de solução de problemas.
Testes a partir da linha de comando
Se quiser testar notificações por push e no aplicativo por meio da interface de linha de comando, você poderá enviar uma única notificação pelo terminal via cURL e a API de envio de mensagens. Você precisará substituir os seguintes campos pelos valores corretos para o seu caso de teste:
YOUR_API_KEY(Acessar Configurações > API Keys.)YOUR_EXTERNAL_USER_ID(Procure um perfil na página Buscar Usuários.)YOUR_KEY1(opcional)YOUR_VALUE1(opcional)
1
2
3
4
5
6
7
8
9
10
11
12
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer {YOUR_API_KEY}" -d '{
"external_user_ids":["YOUR_EXTERNAL_USER_ID"],
"messages": {
"android_push": {
"title":"Test push title",
"alert":"Test push",
"extra": {
"YOUR_KEY1":"YOUR_VALUE1"
}
}
}
}' https://rest.iad-01.braze.com/messages/send
Este exemplo usa a instância US-01. Se você não estiver nessa instância, substitua o endpoint US-01 pelo seu endpoint.
Notificações por push de conversa

A iniciativa de pessoas e conversas existe há vários anos no Android e tem como objetivo destacar pessoas e conversas na superfície do sistema do smartphone. Esta prioridade é baseada no fato de que a comunicação e a interação com outras pessoas ainda são a área funcional mais valorizada e importante para a maioria dos usuários de Android em todas as faixas demográficas.
Requisitos de uso
- Esse tipo de notificação requer o SDK da Braze para Android v15.0.0+ e dispositivos Android 11+.
- Dispositivos ou SDKs sem suporte voltarão a usar uma notificação por push padrão.
Este recurso está disponível apenas na API REST da Braze. Consulte o objeto push do Android para saber mais.
Erros de cota excedida do FCM
Quando seu limite para o Firebase Cloud Messaging (FCM) é excedido, o Google retorna erros de “cota excedida”. O limite padrão do FCM é de 600.000 solicitações por minuto. A Braze tenta reenviar de acordo com as melhores práticas recomendadas pelo Google. No entanto, um grande volume desses erros pode prolongar o tempo de envio por vários minutos. Para atenuar o possível impacto, a Braze enviará um alerta de que o limite de taxa está sendo excedido e informando quais as medidas que você pode tomar para evitar os erros.
Para verificar seu limite atual, acesse seu Google Cloud Console > APIs & Serviços > API do Firebase Cloud Messaging > Quotas & Limites do Sistema, ou visite a Página de Quotas da API FCM.
Melhores práticas
Recomendamos essas melhores práticas para manter esses volumes de erro baixos.
Solicitar um aumento no limite de frequência do FCM
Para solicitar um aumento no limite de frequência do FCM, você pode entrar em contato com suporte do Firebase diretamente ou fazer o seguinte:
- Acessar a página de Cotas da API do FCM.
- Localize a cota de Solicitações enviadas por minuto.
- Selecione Editar Cota.
- Insira um novo valor e envie sua solicitação.
Solicitar limitação global de frequência via Braze
Para aplicar um limite em todo o espaço de trabalho para notificações por push do Android, entre em contato com suporte da Braze.
Limites de taxa
As notificações por push são limitadas por taxa, então não tenha medo de enviar quantas sua aplicação precisar. O iOS e o serviço de Notificações por Push da Apple (APNs) controlarão a frequência com que são entregues, e você não terá problemas por enviar muitas. Se suas notificações por push forem limitadas, elas podem ser atrasadas até a próxima vez que o dispositivo enviar um pacote keep-alive ou receber outra notificação.
Configuração de notificações por push
Etapa 1: Faça upload de seu token de APNs
Antes de enviar uma notificação por push para iOS usando Braze, você precisa fazer upload do seu arquivo de notificação por push .p8, conforme descrito na documentação do desenvolvedor da Apple:
- Na sua conta de desenvolvedor da Apple, acesse Certificados, Identificadores & Perfis.
- Em Chaves, selecione Todos e clique no botão adicionar (+) no canto superior direito.
- Em Descrição da Chave, insira um nome único para a chave de assinatura.
- Em Serviços Principais, selecione a caixa de seleção serviço de Notificações por Push da Apple (APNs), depois clique em Continuar. Clique Confirmar.
- Nota o ID da chave. Clique em baixar para gerar e baixar a chave. Certifique-se de salvar o arquivo baixado em um local seguro, pois você não pode baixar isso mais de uma vez.
- No Braze, acessar Configurações > Configurações do app e fazer upload do arquivo
.p8em Certificado de Push da Apple. Você pode fazer upload do seu certificado de push de desenvolvimento ou de produção. Para testar notificações por push depois que seu app estiver disponível na App Store, é recomendável configurar um espaço de trabalho separado para a versão de desenvolvimento do seu app. - Quando solicitado, insira o ID do pacote do seu app, ID da chave, e ID da equipe. Você também precisará especificar se deseja enviar notificações para o ambiente de desenvolvimento ou produção do seu app, que é definido pelo seu perfil de provisionamento.
- Quando terminar, selecione Salvar.
Etapa 2: Ativar push capabilities
No Xcode, acesse a seção Acessando & Capabilities do direcionamento do aplicativo principal e adicione o recurso de notificações por push.

Etapa 3: Configurar o manuseio de push
Você pode usar o Swift SDK para automatizar o processamento de notificações remotas recebidas do Braze. Essa é a maneira mais simples de lidar com notificações por push e é o método de tratamento recomendado.
Etapa 3.1: Ativar a capacitação na propriedade push
Para ativar a integração automática de push, defina a propriedade automation da configuração push para true:
1
2
let configuration = Braze.Configuration(apiKey: "{YOUR-BRAZE-API-KEY}", endpoint: "{YOUR-BRAZE-API-ENDPOINT}")
configuration.push.automation = true
1
2
BRZConfiguration *configuration = [[BRZConfiguration alloc] initWithApiKey:@"{YOUR-BRAZE-API-KEY}" endpoint:@"{YOUR-BRAZE-API-ENDPOINT}"];
configuration.push.automation = [[BRZConfigurationPushAutomation alloc] initEnablingAllAutomations:YES];
Isso instrui o SDK a:
- Registre seu aplicativo para notificação por push no sistema.
- Solicite a autorização/permissão de notificação por push na inicialização.
- Forneça dinamicamente implementações para os métodos delegados relacionados ao sistema de notificação por push.
Os passos de automação realizados pelo SDK são compatíveis com as integrações de manuseio de notificação por push pré-existentes em sua base de código. O SDK apenas automatiza o processamento da notificação remota recebida da Braze. Qualquer handler de sistema implementado para processar suas próprias notificações remotas ou de outro SDK de terceiros continuará a funcionar quando automation estiver ativado.
O SDK deve ser inicializado na thread principal para ativar a automação de notificação por push. A inicialização do SDK deve ocorrer antes que o aplicativo tenha terminado de iniciar ou na sua implementação do AppDelegate application(_:didFinishLaunchingWithOptions:).
Se o seu aplicativo exigir uma configuração adicional antes de inicializar o SDK, consulte a página da documentação sobre inicialização por postergação.
Etapa 3.2: Substituir configurações individuais (opcional)
Para um controle mais granular, cada etapa de automação pode ser ativada ou desativada individualmente:
1
2
3
// Enable all automations and disable the automatic notification authorization request at launch.
configuration.push.automation = true
configuration.push.automation.requestAuthorizationAtLaunch = false
1
2
3
// Enable all automations and disable the automatic notification authorization request at launch.
configuration.push.automation = [[BRZConfigurationPushAutomation alloc] initEnablingAllAutomations:YES];
configuration.push.automation.requestAuthorizationAtLaunch = NO;
Consulte Braze.Configuration.Push.Automation para todas as opções disponíveis e automation para saber mais sobre o comportamento da automação.
Se você depende de notificações por push para comportamento adicional específico do seu app, ainda poderá usar a integração automática de push em vez da integração manual de notificação por push. O método subscribeToUpdates(_:) oferece uma forma de receber notificação sobre notificações remotas processadas pela Braze.
Etapa 3.1: Registre-se para notificações por push com APNs
Inclua o exemplo de código apropriado no método de delegado application:didFinishLaunchingWithOptions: do seu app para que os dispositivos dos seus usuários possam se registrar no APNs. Certifique-se de chamar todo o código de integração push na thread principal do seu aplicativo.
Braze também fornece categorias de push padrão para suporte ao botão de ação por push, que devem ser adicionadas manualmente ao seu código de registro de push. Consulte os botões de ação por push para obter etapas adicionais de integração.
Adicione o seguinte código ao método application:didFinishLaunchingWithOptions: do seu delegado do app.
O seguinte exemplo de código inclui integração para autenticação push provisória (linhas 5 e 6). Se você não planeja usar autorização provisória no seu app, pode remover as linhas de código que adicionam UNAuthorizationOptionProvisional às opções de requestAuthorization.
Visite opções de notificação do iOS para saber mais sobre a autenticação provisória push.
1
2
3
4
5
6
7
8
9
10
11
application.registerForRemoteNotifications()
let center = UNUserNotificationCenter.current()
center.setNotificationCategories(Braze.Notifications.categories)
center.delegate = self
var options: UNAuthorizationOptions = [.alert, .sound, .badge]
if #available(iOS 12.0, *) {
options = UNAuthorizationOptions(rawValue: options.rawValue | UNAuthorizationOptions.provisional.rawValue)
}
center.requestAuthorization(options: options) { granted, error in
print("Notification authorization, granted: \(granted), error: \(String(describing: error))")
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[application registerForRemoteNotifications];
UNUserNotificationCenter *center = UNUserNotificationCenter.currentNotificationCenter;
[center setNotificationCategories:BRZNotifications.categories];
center.delegate = self;
UNAuthorizationOptions options = UNAuthorizationOptionAlert | UNAuthorizationOptionSound | UNAuthorizationOptionBadge;
if (@available(iOS 12.0, *)) {
options = options | UNAuthorizationOptionProvisional;
}
[center requestAuthorizationWithOptions:options
completionHandler:^(BOOL granted, NSError *_Nullable error) {
NSLog(@"Notification authorization, granted: %d, "
@"error: %@)",
granted, error);
}];
Você deve atribuir seu objeto delegado usando center.delegate = self de forma síncrona antes que seu app termine de iniciar, de preferência em application:didFinishLaunchingWithOptions:. Se não fizer isso, seu app pode perder notificações por push recebidas. Consulte a documentação da Apple UNUserNotificationCenterDelegate para saber mais.
Etapa 3.2: Registre push tokens com a Braze
Depois que o registro do APNs estiver completo, passe o deviceToken resultante para a Braze para ativar as notificações por push para o usuário.
Adicione o seguinte código ao método application(_:didRegisterForRemoteNotificationsWithDeviceToken:) do seu app:
1
AppDelegate.braze?.notifications.register(deviceToken: deviceToken)
Adicione o seguinte código ao método application:didRegisterForRemoteNotificationsWithDeviceToken: do seu app:
1
[AppDelegate.braze.notifications registerDeviceToken:deviceToken];
O método delegado application:didRegisterForRemoteNotificationsWithDeviceToken: é chamado toda vez depois que application.registerForRemoteNotifications() é chamado.
Se você estiver migrando para o Braze de outro serviço de push e o dispositivo do seu usuário já estiver registrado no APNs, este método coletará tokens de registros existentes na próxima vez que o método for chamado, e os usuários não precisarão aceitar novamente o push.
Etapa 3.3: Ativar push handling
Em seguida, passe as notificações por push recebidas para a Braze. Esta etapa é necessária para registrar a análise de dados de push e o manuseio de links. Certifique-se de chamar todo o código de integração push na thread principal do seu aplicativo.
Manipulação padrão de push
Para ativar a capacitação do push padrão do Braze, adicione o seguinte código ao método application(_:didReceiveRemoteNotification:fetchCompletionHandler:) do seu app:
1
2
3
4
5
6
7
if let braze = AppDelegate.braze, braze.notifications.handleBackgroundNotification(
userInfo: userInfo,
fetchCompletionHandler: completionHandler
) {
return
}
completionHandler(.noData)
Em seguida, adicione o seguinte ao método userNotificationCenter(_:didReceive:withCompletionHandler:) do seu app:
1
2
3
4
5
6
7
if let braze = AppDelegate.braze, braze.notifications.handleUserNotification(
response: response,
withCompletionHandler: completionHandler
) {
return
}
completionHandler()
Para ativar a capacitação do push padrão do Braze, adicione o seguinte código ao método application:didReceiveRemoteNotification:fetchCompletionHandler: de seu aplicativo:
1
2
3
4
5
6
7
BOOL processedByBraze = AppDelegate.braze != nil && [AppDelegate.braze.notifications handleBackgroundNotificationWithUserInfo:userInfo
fetchCompletionHandler:completionHandler];
if (processedByBraze) {
return;
}
completionHandler(UIBackgroundFetchResultNoData);
Em seguida, adicione o seguinte código ao método (void)userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler: do seu app:
1
2
3
4
5
6
7
BOOL processedByBraze = AppDelegate.braze != nil && [AppDelegate.braze.notifications handleUserNotificationWithResponse:response
withCompletionHandler:completionHandler];
if (processedByBraze) {
return;
}
completionHandler();
Manipulação de push em primeiro plano
Para ativar notificações por push em primeiro plano e permitir que a Braze as reconheça quando forem recebidas, implemente UNUserNotificationCenter.userNotificationCenter(_:willPresent:withCompletionHandler:). Se um usuário tocar na sua notificação em primeiro plano, o userNotificationCenter(_:didReceive:withCompletionHandler:) push delegate será chamado e a Braze registrará o evento de clique no push.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
func userNotificationCenter(
_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions
) -> Void) {
if let braze = AppDelegate.braze {
// Forward notification payload to Braze for processing.
braze.notifications.handleForegroundNotification(notification: notification)
}
// Configure application's foreground notification display options.
if #available(iOS 14.0, *) {
completionHandler([.list, .banner])
} else {
completionHandler([.alert])
}
}
Para ativar notificações por push em primeiro plano e permitir que a Braze as reconheça quando forem recebidas, implemente userNotificationCenter:willPresentNotification:withCompletionHandler:. Se um usuário tocar na sua notificação em primeiro plano, o userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler: push delegate será chamado e a Braze registrará o evento de clique no push.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
willPresentNotification:(UNNotification *)notification
withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler {
if (AppDelegate.braze != nil) {
// Forward notification payload to Braze for processing.
[AppDelegate.braze.notifications handleForegroundNotificationWithNotification:notification];
}
// Configure application's foreground notification display options.
if (@available(iOS 14.0, *)) {
completionHandler(UNNotificationPresentationOptionList | UNNotificationPresentationOptionBanner);
} else {
completionHandler(UNNotificationPresentationOptionAlert);
}
}
Notificações de teste
Se você quiser testar notificações no app e notificações por push via a linha de comando, você pode enviar uma única notificação através do terminal via CURL e a API de envio de mensagens. Você precisará substituir os seguintes campos pelos valores corretos para o seu caso de teste:
YOUR_API_KEY- disponível em Configurações > Chaves de API.YOUR_EXTERNAL_USER_ID- disponível na página Pesquisar Usuários. Para saber mais, consulte atribuir IDs de usuário.YOUR_KEY1(opcional)YOUR_VALUE1(opcional)
No exemplo a seguir, a instânciaUS-01 está sendo usada. Se você não estiver nessa instância, consulte nossa documentação da API para ver em qual endpoint fazer solicitações.
1
2
3
4
5
6
7
8
9
10
11
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer {YOUR_API_KEY}" -d '{
"external_user_ids":["YOUR_EXTERNAL_USER_ID"],
"messages": {
"apple_push": {
"alert":"Test push",
"extra": {
"YOUR_KEY1":"YOUR_VALUE1"
}
}
}
}' https://rest.iad-01.braze.com/messages/send
Assinando atualizações de notificações por push
Para acessar as cargas úteis de notificação por push processadas pela Braze, use o método Braze.Notifications.subscribeToUpdates(payloadTypes:_:).
Você pode usar o parâmetro payloadTypes para especificar se deseja se inscrever em notificações envolvendo eventos de push abertos, eventos de push recebidos ou ambos.
1
2
3
4
5
6
// This subscription is maintained through a Braze cancellable, which will observe for changes until the subscription is cancelled.
// You must keep a strong reference to the cancellable to keep the subscription active.
// The subscription is canceled either when the cancellable is deinitialized or when you call its `.cancel()` method.
let cancellable = AppDelegate.braze?.notifications.subscribeToUpdates(payloadTypes: [.open, .received]) { payload in
print("Braze processed notification with title '\(payload.title)' and body '\(payload.body)'")
}
Lembre-se de que os eventos recebidos de push só dispararão para notificações em primeiro plano e notificações content-available em segundo plano. Não disparará para notificações recebidas enquanto encerrado ou para notificações em segundo plano sem o campo content-available.
1
2
3
4
5
NSInteger filtersValue = BRZNotificationsPayloadTypeFilter.opened.rawValue | BRZNotificationsPayloadTypeFilter.received.rawValue;
BRZNotificationsPayloadTypeFilter *filters = [[BRZNotificationsPayloadTypeFilter alloc] initWithRawValue: filtersValue];
BRZCancellable *cancellable = [notifications subscribeToUpdatesWithPayloadTypes:filters update:^(BRZNotificationsPayload * _Nonnull payload) {
NSLog(@"Braze processed notification with title '%@' and body '%@'", payload.title, payload.body);
}];
Lembre-se de que os eventos recebidos de push só dispararão para notificações em primeiro plano e notificações content-available em segundo plano. Não disparará para notificações recebidas enquanto encerrado ou para notificações em segundo plano sem o campo content-available.
Ao usar a integração automática de push, subscribeToUpdates(_:) é a única maneira de ser notificado sobre notificações remotas processadas pelo Braze. Os métodos de sistema UIAppDelegate e UNUserNotificationCenterDelegate não são chamados quando a notificação é processada automaticamente pela Braze.
Crie sua inscrição de notificação por push em application(_:didFinishLaunchingWithOptions:) para garantir que sua inscrição seja disparada depois que um usuário final tocar em uma notificação enquanto seu app estiver em um estado finalizado.
Push primers
Campanhas de push primer incentivam seus usuários a ativar notificações por push em seu dispositivo para seu app. Isso pode ser feito sem personalização de SDK usando nosso Push Primer sem código.
Gerenciamento de gateway de APNs dinâmicos
O gerenciamento dinâmico do gateway do serviço de Notificações por Push da Apple (APNs) aumenta a confiabilidade e a eficiência das notificações por push do iOS, detectando automaticamente o ambiente correto de APNs. Anteriormente, você selecionava manualmente os ambientes de APNs (desenvolvimento ou produção) para suas notificações por push, o que às vezes levava a configurações incorretas de gateway, falhas de entrega e erros no site BadDeviceToken.
Com o gerenciamento dinâmico de gateway de APNs, você terá:
- Maior confiabilidade: As notificações são sempre entregues no ambiente de APNs correto, reduzindo as falhas de entrega.
- Configuração simplificada: Você não precisa mais gerenciar manualmente as configurações de gateway de APNs.
- Resiliência a erros: Os valores de gateway inválidos ou ausentes são tratados com elegância, proporcionando um serviço ininterrupto.
Pré-requisitos
O Braze oferece suporte ao gerenciamento de gateway de APNs dinâmicos para notificações por push no iOS com os seguintes requisitos de versão do SDK:
Como funciona?
Quando um app iOS se integra ao Braze Swift SDK, ele envia dados relacionados ao dispositivo, incluindo aps-environment para a API do SDK do Braze, se disponível. O valor apns_gateway indica se o app está usando o ambiente de APNs de desenvolvimento (dev) ou de produção (prod).
O Braze também armazena o valor do gateway relatado para cada dispositivo. Se um novo valor de gateway válido for recebido, o Braze atualiza automaticamente o valor armazenado.
Quando o Braze envia uma notificação por push:
- Se um valor de gateway válido (dev ou prod) for armazenado para o dispositivo, o Braze o utilizará para determinar o ambiente de APNs correto.
- Se nenhum valor de gateway for armazenado, o Braze usará como padrão o ambiente de APNs configurado na página de configurações do app.
Perguntas frequentes
Por que esse recurso foi introduzido?
Com o gerenciamento dinâmico de gateway de APNs, o ambiente correto é selecionado automaticamente. Anteriormente, era necessário configurar manualmente o gateway de APNs, o que poderia levar a erros de BadDeviceToken, invalidação de token e possíveis problemas de limite de frequência de APNs.
Como isso afeta o desempenho da entrega de push?
Esse recurso melhora as taxas de entrega, sempre encaminhando tokens por push para o ambiente correto de APNs, evitando falhas causadas por gateways mal configurados.
Posso desativar esse recurso?
O gerenciamento de gateway de APNs dinâmicos é ativado por padrão e oferece melhorias de confiabilidade. Se houver casos de uso específicos que exijam a seleção manual do gateway, entre em contato com o suporte da Braze.
Sobre as notificações por push para a Android TV

Embora não seja um recurso nativo, a integração de push da Android TV é possível com o uso do SDK da Braze para Android e do Firebase Cloud Messaging para registrar um token por push para a Android TV. No entanto, é necessário criar uma interface do usuário para exibir a carga útil da notificação depois que ela for recebida.
Pré-requisitos
Para usar esse recurso, você precisará concluir o seguinte:
- Integrar o SDK da Braze para Android
- Configurar notificações por push para o SDK do Braze para Android
Configuração de notificações por push
Para configurar notificações por push para a Android TV:
- Crie uma exibição personalizada em seu app para exibir suas notificações.
- Criar uma fábrica de notificações personalizada. Isso substituirá o comportamento padrão do SDK e permitirá que você exiba manualmente as notificações. Ao retornar
null, isso impedirá o processamento do SDK e exigirá um código personalizado para exibir a notificação. Depois que essas etapas forem concluídas, você poderá começar a enviar push para a Android TV! - (Opcional) Para rastrear a análise de dados de cliques de forma eficaz, configure o rastreamento da análise de cliques. Isso pode ser obtido com a criação de um retorno de chamada para ouvir as intenções de abertura e recebimento de push da Braze.
Essas notificações não persistirão e só ficarão visíveis para o usuário quando o dispositivo as exibir. Isso se deve ao fato de a central de notificações do Android TV não oferecer suporte a notificações históricas.
Teste das notificações por push da Android TV
Para testar se a implementação do push foi bem-sucedida, envie uma notificação do dashboard da Braze como faria normalmente em um dispositivo Android.
- Se o aplicativo for fechado: A notificação por push exibirá uma notificação de brinde na tela.
- Se o aplicativo estiver aberto: Você tem a oportunidade de exibir a mensagem em sua própria interface de usuário hospedada. Recomendamos seguir o estilo da interface do usuário de nossas mensagens no app do Android Mobile SDK.
Melhores práticas
Para os profissionais de marketing que usam o Braze, o lançamento de uma campanha para a Android TV será idêntico ao lançamento de um push para os apps para mobile do Android. Para direcionar esses dispositivos exclusivamente, recomendamos selecionar o app Android TV na segmentação.
A resposta entregue e clicada retornada pelo FCM seguirá a mesma convenção de um dispositivo Android móvel; portanto, quaisquer erros serão visíveis no registro de atividades da mensagem.
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o Cordova Braze SDK. Após integrar o SDK, a funcionalidade básica de notificação por push é ativada por padrão. Para usar notificações por push ricas e histórias por push, você precisará configurá-las individualmente. Para usar mensagens por push no iOS, você também precisa fazer upload de um certificado de push válido.
Sempre que você adicionar, remover ou atualizar seus plugins Cordova, o Cordova irá sobrescrever o Podfile no projeto Xcode do seu app iOS. Isso significa que você precisará configurar esses recursos novamente sempre que modificar seus plugins Cordova.
Desabilitando notificações por push básicas (apenas iOS)
Após integrar o SDK Braze Cordova para iOS, a funcionalidade básica de notificação por push é ativada por padrão. Para desabilitar essa funcionalidade no seu app iOS, adicione o seguinte ao seu config.xml arquivo. Para saber mais, veja Configurações opcionais.
1
2
3
4
<platform name="ios">
<preference name="com.braze.ios_disable_automatic_push_registration" value="NO" />
<preference name="com.braze.ios_disable_automatic_push_handling" value="NO" />
</platform>
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o Flutter Braze SDK.
Configuração de notificações por push
Etapa 1: Concluir a configuração inicial
Etapa 1.1: Registre-se para push
Registre-se para push usando a API Firebase Cloud Messaging (FCM) do Google. Para obter um passo a passo completo, consulte as etapas a seguir do guia de integração de push do Android nativo:
- Adicione o Firebase ao seu projeto.
- Adicione o Cloud Messaging às suas dependências.
- Crie uma conta de serviço.
- Gerar credenciais JSON.
- Faça upload de suas credenciais JSON para a Braze.
Etapa 1.2: Obtenha seu Sender ID (ID do remetente) do Google
Primeiro, acesse o Firebase Console, abra seu projeto e selecione Settings > Project settings.

Selecione Envio de mensagens na nuvem e, em seguida, em Firebase Cloud Messaging API (V1), copie o ID do remetente para a área de transferência.

Etapa 1.3: Atualize seu braze.xml
Adicione o seguinte ao seu arquivo braze.xml. Substitua FIREBASE_SENDER_ID pela ID do remetente que você copiou anteriormente.
1
2
<bool translatable="false" name="com_braze_firebase_cloud_messaging_registration_enabled">true</bool>
<string translatable="false" name="com_braze_firebase_cloud_messaging_sender_id">FIREBASE_SENDER_ID</string>
Etapa 1.1: Fazer upload de certificados APNs
Gere um certificado do serviço de Notificações por Push da Apple (APNs) e faça upload dele no dashboard do Braze. Para obter um passo a passo completo, consulte Como fazer upload de seu certificado de APNs.
Etapa 1.2: Adicione suporte a notificações por push ao app
Siga o guia de integração nativa do iOS.
Etapa 2: Ouça os eventos de notificação por push (opcional)
Para ouvir os eventos de notificação por push que a Braze detectou e tratou, chame subscribeToPushNotificationEvents() e passe um argumento a ser executado.
Os eventos de notificação por push do Braze estão disponíveis tanto no Android quanto no iOS. Devido às diferenças de plataforma, o iOS só detectará eventos push do Braze quando um usuário interagir com uma notificação.
1
2
3
4
5
6
7
8
9
10
// Create stream subscription
StreamSubscription pushEventsStreamSubscription;
pushEventsStreamSubscription = braze.subscribeToPushNotificationEvents((BrazePushEvent pushEvent) {
print("Push Notification event of type ${pushEvent.payloadType} seen. Title ${pushEvent.title}\n and deeplink ${pushEvent.url}");
// Handle push notification events
});
// Cancel stream subscription
pushEventsStreamSubscription.cancel();
Campos de eventos de notificação por push
Devido às limitações da plataforma no iOS, o SDK da Braze só pode processar cargas úteis push enquanto o app estiver em primeiro plano. Os ouvintes só serão disparados para o tipo de evento push_opened no iOS depois que um usuário interagir com um push.
Para obter uma lista completa dos campos de notificação por push, consulte a tabela abaixo:
| Nome do campo | Tipo | Descrição |
|---|---|---|
payloadType |
String | Especifica o tipo de carga útil da notificação. Os dois valores enviados pelo Braze Flutter SDK são push_opened e push_received. Somente os eventos push_opened são compatíveis com o iOS. |
url |
String | Especifica a URL que foi aberta pela notificação. |
useWebview |
Booleano | Se for true, o URL será aberto no app em uma visualização modal da Web. Se false, o URL será aberto no navegador do dispositivo. |
title |
String | Representa o título da notificação. |
body |
String | Representa o corpo ou o texto do conteúdo da notificação. |
summaryText |
String | Representa o texto resumido da notificação. Isso é mapeado em subtitle no iOS. |
badgeCount |
Número | Representa a contagem de emblemas da notificação. |
timestamp |
Número | Representa a hora em que a carga útil foi recebida pelo aplicativo. |
isSilent |
Booleano | Se true, a carga útil é recebida silenciosamente. Para obter detalhes sobre o envio de notificações por push silenciosas no Android, consulte Notificações por push silenciosas no Android. Para obter detalhes sobre o envio de notificações por push silenciosas no iOS, consulte Notificações por push silenciosas no iOS. |
isBrazeInternal |
Booleano | Este será o endereço true se uma carga útil de notificação tiver sido enviada para um recurso interno do SDK, como sincronização de geofences, sincronização de Feature Flag ou rastreamento de desinstalação. A carga útil é recebida silenciosamente para o usuário. |
imageUrl |
String | Especifica o URL associado à imagem da notificação. |
brazeProperties |
Objeto | Representa as propriedades do Braze associadas à campanha (pares chave-valor). |
ios |
Objeto | Representa campos específicos do iOS. |
android |
Objeto | Representa campos específicos do Android. |
Etapa 3: Teste a exibição de notificações por push
Para testar sua integração depois de configurar as notificações por push na camada nativa:
- Defina um usuário ativo no aplicativo Flutter. Para fazer isso, inicialize seu plug-in chamando
braze.changeUser('your-user-id'). - Vá para Campaigns (Campanhas ) e crie uma nova campanha de notificação por push. Escolha as plataformas que você gostaria de testar.
- Crie sua notificação de teste e vá para a guia Teste. Adicione o mesmo
user-idque o usuário teste e clique em Send Test (Enviar teste). - Você deverá receber a notificação em seu dispositivo em breve. Talvez seja necessário verificar a Central de Notificações ou atualizar as Configurações se ela não for exibida.
A partir do Xcode 14, você pode testar notificações por push remotas em um simulador de iOS.
Pré-requisitos
Antes de usar este recurso, você precisará integrar o SDK Android Braze.
Configuração de notificações por push
Os telefones mais novos fabricados pela Huawei vêm equipados com o Huawei Mobile Services (HMS), um serviço usado para enviar push em vez do Firebase Cloud Messaging (FCM) do Google.
Etapa 1: Crie uma conta de desenvolvedor da Huawei
Antes de começar, você precisará criar uma conta de desenvolvedor da Huawei. Em sua conta da Huawei, acesse My Projects > Project Settings > App Information (Meus projetos > Configurações do projeto > Informações do app) e anote os endereços App ID e App secret.

Etapa 2: Crie um novo app da Huawei no dashboard da Braze
No dashboard da Braze, acesse Configurações > Configurações do app.
Clique em + Adicionar app, forneça um nome (como My Huawei App) e selecione Android como a plataforma.

Depois que seu novo app da Braze tiver sido criado, localize as configurações de notificação por push e selecione Huawei como o provedor de push. Em seguida, forneça seu Huawei Client Secret e Huawei App ID.

Etapa 3: Integre o SDK de envio de mensagens da Huawei em seu app
A Huawei forneceu um codelab de integração Android detalhando a integração do Huawei Messaging Service em seu app. Siga essas etapas para começar.
Depois de concluir o codelab, você precisará criar um Huawei Message Service personalizado para obter tokens por push e encaminhar mensagens para o SDK da Braze.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class CustomPushService extends HmsMessageService {
@Override
public void onNewToken(String token) {
super.onNewToken(token);
Braze.getInstance(this.getApplicationContext()).setRegisteredPushToken(token);
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
if (BrazeHuaweiPushHandler.handleHmsRemoteMessageData(this.getApplicationContext(), remoteMessage.getDataOfMap())) {
// Braze has handled the Huawei push notification
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
class CustomPushService: HmsMessageService() {
override fun onNewToken(token: String?) {
super.onNewToken(token)
Braze.getInstance(applicationContext).setRegisteredPushToken(token!!)
}
override fun onMessageReceived(hmsRemoteMessage: RemoteMessage?) {
super.onMessageReceived(hmsRemoteMessage)
if (BrazeHuaweiPushHandler.handleHmsRemoteMessageData(applicationContext, hmsRemoteMessage?.dataOfMap)) {
// Braze has handled the Huawei push notification
}
}
}
Depois de adicionar seu serviço push personalizado, adicione o seguinte em seu AndroidManifest.xml:
1
2
3
4
5
6
7
<service
android:name="package.of.your.CustomPushService"
android:exported="false">
<intent-filter>
<action android:name="com.huawei.push.action.MESSAGING_EVENT" />
</intent-filter>
</service>
Etapa 4: Teste suas notificações por push (opcional)
Neste ponto, você criou um novo app Huawei para Android no dashboard da Braze, configurou-o com suas credenciais de desenvolvedor da Huawei e integrou os SDKs da Braze e da Huawei ao seu app.
Em seguida, podemos testar a integração testando uma nova campanha push na Braze.
Etapa 4.1: Criar uma nova campanha de notificação por push
Na página Campanhas, crie uma nova campanha e escolha Notificação por push como o tipo de mensagem.
Depois de dar um nome `a sua campanha, escolha Android Push como a plataforma de push.

Em seguida, crie sua campanha de push com um título e uma mensagem.
Etapa 4.2: Enviar um push de teste
Na guia Teste, digite o ID do usuário, que foi definido no app usando o método changeUser(USER_ID_STRING), e clique em Enviar teste para enviar um push de teste.

Nesse momento, você deverá receber uma notificação por push de teste da Braze em seu dispositivo Huawei (HMS).
Etapa 4.3: Configurar a segmentação da Huawei (opcional)
Como o app da Huawei no dashboard da Braze foi criado com base na plataforma de push do Android, você tem a flexibilidade de enviar push para todos os usuários do Android (Firebase Cloud Messaging e Huawei Mobile Services) ou pode optar por segmentar o público da campanha para apps específicos.
Para enviar push apenas para aplicativos da Huawei, crie um novo segmento e selecione seu aplicativo da Huawei na seção Apps.

Claro, se quiser enviar o mesmo push para todos os provedores de push do Android, você pode optar por não especificar o app que enviará para todos os apps para Android configurados no espaço de trabalho atual.
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o React Native Braze SDK.
Configuração de notificações por push
Etapa 1: Concluir a configuração inicial
Pré-requisitos
Antes de poder usar a Expo para notificações por push, você precisará configurar o plug-in Braze Expo.
Etapa 1.1: Atualize seu arquivo app.json
Em seguida, atualize seu arquivo app.json para Android e iOS:
- Android: Adicione a opção
enableFirebaseCloudMessaging. - iOS: Adicione a opção
enableBrazeIosPush.
Etapa 1.2: Adicione seu ID de remetente do Google
Primeiro, acesse o Firebase Console, abra seu projeto e selecione Settings > Project settings.

Selecione Envio de mensagens na nuvem e, em seguida, em Firebase Cloud Messaging API (V1), copie o ID do remetente para a área de transferência.

Em seguida, abra o arquivo app.json do seu projeto e defina a propriedade firebaseCloudMessagingSenderId como o ID do remetente na área de transferência. Por exemplo:
1
"firebaseCloudMessagingSenderId": "693679403398"
Etapa 1.3: Adicione a jornada ao seu JSON do Google Services
No arquivo app.json de seu projeto, adicione a jornada para seu arquivo google-services.json. Esse arquivo é necessário ao definir enableFirebaseCloudMessaging: true em sua configuração.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"expo": {
"android": {
"googleServicesFile": "PATH_TO_GOOGLE_SERVICES"
},
"plugins": [
[
"@braze/expo-plugin",
{
"androidApiKey": "YOUR-ANDROID-API-KEY",
"iosApiKey": "YOUR-IOS-API-KEY",
"enableBrazeIosPush": true,
"enableFirebaseCloudMessaging": true,
"firebaseCloudMessagingSenderId": "YOUR-FCM-SENDER-ID",
"androidHandlePushDeepLinksAutomatically": true
}
],
]
}
}
Note que será necessário usar essas configurações em vez das instruções de configuração nativas se estiver dependendo de bibliotecas adicionais de notificação por push, como a Expo Notifications.
Se não estiver usando o plug-in Braze Expo ou se, em vez disso, quiser definir essas configurações nativamente, registre-se para receber push consultando o guia de integração de push nativo do Android.
Se não estiver usando o plug-in Braze Expo ou se, em vez disso, quiser definir essas configurações nativamente, registre-se para push consultando as etapas a seguir do guia de integração de push nativo do iOS:
Etapa 1.1: Solicitação de permissões push
Se não planeja solicitar permissões push quando o app for iniciado, omita a chamada requestAuthorizationWithOptions:completionHandler: em seu AppDelegate. Em seguida, pule para a etapa 2. Caso contrário, siga o guia de integração nativa do iOS.
Etapa 1.2 (opcional): Migre sua chave push
Se estava usando anteriormente o site expo-notifications para gerenciar sua chave push, execute o site expo fetch:ios:certs na pasta raiz do seu aplicativo. Isso baixará sua chave push (um arquivo .p8), que poderá ser feito upload no dashboard da Braze.
Etapa 2: Solicitar permissão para notificações por push
Use o método Braze.requestPushPermission() (disponível na versão v1.38.0 e superior) para solicitar permissão para notificações por push do usuário no iOS e no Android 13+. Para o Android 12 e versões inferiores, esse método não funciona.
Esse método recebe um parâmetro obrigatório que especifica quais permissões o SDK deve solicitar do usuário no iOS. Essas opções não têm efeito no Android.
1
2
3
4
5
6
7
8
const permissionOptions = {
alert: true,
sound: true,
badge: true,
provisional: false
};
Braze.requestPushPermission(permissionOptions);
Etapa 2.1: Ouça as notificações por push (opcional)
Além disso, você pode se inscrever em eventos em que o Braze detectou e tratou uma notificação por push recebida. Use a tecla do ouvinte Braze.Events.PUSH_NOTIFICATION_EVENT.
os eventos de push recebidos do iOS só dispararão para notificações em primeiro plano e content-available notificações em segundo plano. Não disparará para notificações recebidas enquanto encerrado ou para notificações em segundo plano sem o campo content-available.
1
2
3
4
Braze.addListener(Braze.Events.PUSH_NOTIFICATION_EVENT, data => {
console.log(`Push Notification event of type ${data.payload_type} seen. Title ${data.title}\n and deeplink ${data.url}`);
console.log(JSON.stringify(data, undefined, 2));
});
Campos de eventos de notificação por push
Para obter uma lista completa dos campos de notificação por push, consulte a tabela abaixo:
| Nome do campo | Tipo | Descrição |
|---|---|---|
payload_type |
String | Especifica o tipo de carga útil da notificação. Os dois valores enviados pelo SDK da Braze React Native são push_opened e push_received. |
url |
String | Especifica a URL que foi aberta pela notificação. |
use_webview |
Booleano | Se for true, o URL será aberto no app em uma visualização modal da Web. Se false, o URL será aberto no navegador do dispositivo. |
title |
String | Representa o título da notificação. |
body |
String | Representa o corpo ou o texto do conteúdo da notificação. |
summary_text |
String | Representa o texto resumido da notificação. Isso é mapeado em subtitle no iOS. |
badge_count |
Número | Representa a contagem de emblemas da notificação. |
timestamp |
Número | Representa a hora em que a carga útil foi recebida pelo aplicativo. |
is_silent |
Booleano | Se true, a carga útil é recebida silenciosamente. Para obter detalhes sobre o envio de notificações por push silenciosas no Android, consulte Notificações por push silenciosas no Android. Para obter detalhes sobre o envio de notificações por push silenciosas no iOS, consulte Notificações por push silenciosas no iOS. |
is_braze_internal |
Booleano | Este será o endereço true se uma carga útil de notificação tiver sido enviada para um recurso interno do SDK, como sincronização de geofences, sincronização de Feature Flag ou rastreamento de desinstalação. A carga útil é recebida silenciosamente para o usuário. |
image_url |
String | Especifica o URL associado à imagem da notificação. |
braze_properties |
Objeto | Representa as propriedades do Braze associadas à campanha (pares chave-valor). |
ios |
Objeto | Representa campos específicos do iOS. |
android |
Objeto | Representa campos específicos do Android. |
Etapa 3: Ativar o deep linking (opcional)
Para ativar o Braze para lidar com deep links dentro de componentes React quando uma notificação por push for clicada, primeiro implemente as etapas descritas na biblioteca React Native Linking ou com a solução de sua escolha. Em seguida, siga as etapas adicionais abaixo.
Para saber mais sobre o que são deep linkings, consulte nosso artigo de perguntas frequentes.
Se estiver usando o plug-in Braze Expo, poderá lidar com os deep links de notificações por push automaticamente, definindo androidHandlePushDeepLinksAutomatically como true em seu app.json.
Para lidar com deep links manualmente, consulte a documentação nativa do Android: Adição de deep linking.
Etapa 3.1: Armazene a carga útil da notificação por push na inicialização do aplicativo
Pule a etapa 3.1 se estiver usando o plug-in Braze Expo, pois essa funcionalidade é tratada automaticamente.
Para iOS, adicione populateInitialPayloadFromLaunchOptions ao método didFinishLaunchingWithOptions de seu AppDelegate. Por exemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.moduleName = @"BrazeProject";
self.initialProps = @{};
BRZConfiguration *configuration = [[BRZConfiguration alloc] initWithApiKey:apiKey endpoint:endpoint];
configuration.triggerMinimumTimeInterval = 1;
configuration.logger.level = BRZLoggerLevelInfo;
Braze *braze = [BrazeReactBridge initBraze:configuration];
AppDelegate.braze = braze;
[self registerForPushNotifications];
[[BrazeReactUtils sharedInstance] populateInitialPayloadFromLaunchOptions:launchOptions];
return [super application:application didFinishLaunchingWithOptions:launchOptions];
}
Etapa 3.2: Lidar com deep linking a partir de um estado fechado
Além dos cenários básicos tratados pelo React Native Linking, implemente o método Braze.getInitialPushPayload e recupere o valor url para levar em conta os deep links das notificações por push que abrem o app quando ele não está em execução. Por exemplo:
1
2
3
4
5
6
7
8
9
// Handles deep links when an iOS app is launched from a hard close via push click.
// This edge case is not handled in the React Native Linking library and is provided as a workaround by Braze.
Braze.getInitialPushPayload(pushPayload => {
if (pushPayload) {
console.log('Braze.getInitialPushPayload is ' + pushPayload);
showToast('Initial URL is ' + pushPayload.url);
handleOpenUrl({ pushPayload.url });
}
});
A Braze fornece essa solução alternativa, pois a API de vinculação do React Native não oferece suporte a esse cenário devido a uma condição de corrida na inicialização do app.
Etapa 3.3 Ativar links universais (opcional)
Para ativar o suporte à vinculação universal, crie um arquivo BrazeReactDelegate.h em seu diretório iOS e adicione o seguinte trecho de código.
1
2
3
4
5
6
#import <Foundation/Foundation.h>
#import <BrazeKit/BrazeKit-Swift.h>
@interface BrazeReactDelegate: NSObject<BrazeDelegate>
@end
Em seguida, crie um arquivo BrazeReactDelegate.m e adicione o seguinte trecho de código. Substitua YOUR_DOMAIN_HOST por seu domínio real.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#import "BrazeReactDelegate.h"
#import <UIKit/UIKit.h>
@implementation BrazeReactDelegate
/// This delegate method determines whether to open a given URL.
///
/// Reference the `BRZURLContext` object to get additional details about the URL payload.
- (BOOL)braze:(Braze *)braze shouldOpenURL:(BRZURLContext *)context {
if ([[context.url.host lowercaseString] isEqualToString:@"YOUR_DOMAIN_HOST"]) {
// Sample custom handling of universal links
UIApplication *application = UIApplication.sharedApplication;
NSUserActivity* userActivity = [[NSUserActivity alloc] initWithActivityType:NSUserActivityTypeBrowsingWeb];
userActivity.webpageURL = context.url;
// Routes to the `continueUserActivity` method, which should be handled in your `AppDelegate`.
[application.delegate application:application
continueUserActivity:userActivity restorationHandler:^(NSArray<id<UIUserActivityRestoring>> * _Nullable restorableObjects) {}];
return NO;
}
// Let Braze handle links otherwise
return YES;
}
@end
Em seguida, crie e registre seu BrazeReactDelegate em didFinishLaunchingWithOptions do arquivo AppDelegate.m do seu projeto.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#import "BrazeReactUtils.h"
#import "BrazeReactDelegate.h"
@interface AppDelegate ()
// Keep a strong reference to the BrazeDelegate to ensure it is not deallocated.
@property (nonatomic, strong) BrazeReactDelegate *brazeDelegate;
@end
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Other setup code
self.brazeDelegate = [[BrazeReactDelegate alloc] init];
braze.delegate = self.brazeDelegate;
}
Para obter um exemplo de integração, consulte nosso app de amostra aqui.
Etapa 4: Enviar uma notificação por push de teste
Nesse ponto, você deve poder enviar notificações aos dispositivos. Siga as etapas a seguir para testar sua integração push.
A partir do macOS 13, em determinados dispositivos, você pode testar as notificações por push do iOS em um simulador iOS 16+ executado no Xcode 14 ou superior. Para mais informações, consulte as Notas de versão do Xcode 14.
- Defina um usuário ativo no aplicativo React Native chamando o método
Braze.changeUserId('your-user-id'). - Vá para Campaigns (Campanhas ) e crie uma nova campanha de notificação por push. Escolha as plataformas que você gostaria de testar.
- Crie sua notificação de teste e vá para a guia Teste. Adicione o mesmo
user-idque o usuário teste e clique em Send Test (Enviar teste). Você deverá receber a notificação em seu dispositivo em breve.

Usando o plug-in Expo
Depois de configurar as notificações por push para a Expo, você poderá usá-la para lidar com os seguintes comportamentos de notificações por push, sem precisar escrever nenhum código nas camadas nativas do Android ou do iOS.
Encaminhamento de push do Android para FMS adicionais
Se quiser usar um Firebase Messaging Service (FMS) adicional, você pode especificar um FMS fallback para chamar se o aplicativo receber um push que não seja do Braze. Por exemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"expo": {
"plugins": [
[
"@braze/expo-plugin",
{
...
"androidFirebaseMessagingFallbackServiceEnabled": true,
"androidFirebaseMessagingFallbackServiceClasspath": "com.company.OurFirebaseMessagingService"
}
]
]
}
}
Uso de extensões de app com o Expo Application Services
Se estiver usando o Expo Application Services (EAS) e tiver ativado enableBrazeIosRichPush ou enableBrazeIosPushStories, será necessário declarar os identificadores de pacote correspondentes para cada extensão de app em seu projeto. Há várias maneiras de abordar essa etapa, dependendo de como seu projeto está configurado para gerenciar a assinatura de código com o EAS.
Uma abordagem é usar a configuração appExtensions em seu arquivo app.json seguindo a documentação de extensões de app da Expo. Como alternativa, você pode definir a configuração multitarget em seu arquivo credentials.json seguindo a documentação sobre credenciais de localização da Expo.
Solução de problemas
Estas são etapas comuns de solução de problemas para integrações de notificações por push com o SDK React Native do Braze e o plug-in Expo.
As notificações por push pararam de funcionar
Se as notificações por push por meio do plug-in Expo pararem de funcionar:
- Verifique se o SDK do Braze ainda está rastreando as sessões.
- Verifique se o SDK não foi desativado por uma chamada explícita ou implícita para
wipeData. - Revise todas as atualizações recentes da Expo ou de suas bibliotecas relacionadas, pois pode haver conflitos com sua configuração do Braze.
- Revise as dependências de projeto adicionadas recentemente e verifique se elas estão substituindo manualmente os métodos delegados de notificação por push existentes.
Para integrações com iOS, você também pode consultar nosso tutorial de configuração de notificações por push para ajudá-lo a identificar possíveis conflitos com as dependências do seu projeto.
O token do dispositivo não é registrado no Braze
Se o token do seu dispositivo não se registrar no Braze, primeiro analise As notificações por push pararam de funcionar.
Se o problema persistir, pode haver uma dependência separada interferindo em sua configuração de notificação por push do Braze. Você pode tentar removê-lo ou, em vez disso, chamar manualmente Braze.registerPushToken.
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o Web Braze SDK. Você também precisará configurar notificações por push para o Web SDK. Note que só é possível enviar notificações por push para usuários do iOS e iPadOS que estejam usando o Safari v16.4 ou posterior.
Configuração do Safari push para celular
Etapa 1: Criar um arquivo de manifesto
Um Manifesto de Aplicativo Web é um arquivo JSON que controla como o seu site é apresentado quando instalado na tela inicial de um usuário.
Por exemplo, é possível definir a cor do tema de fundo e o ícone que o App Switcher usa, se ele é renderizado em tela inteira para se assemelhar a um aplicativo nativo ou se o aplicativo deve ser aberto no modo paisagem ou retrato.
Crie um novo arquivo manifest.json no diretório raiz do seu site, com os seguintes campos obrigatórios.
1
2
3
4
5
6
7
8
9
{
"name": "your app name",
"short_name": "your app name",
"display": "fullscreen",
"icons": [{
"src": "favicon.ico",
"sizes": "128x128",
}]
}
A lista completa de campos suportados pode ser encontrada aqui.
Etapa 2: Vincular o arquivo de manifesto
Adicione a seguinte tag <link> ao elemento <head> de seu site, apontando para o local onde o arquivo de manifesto está hospedado.
1
<link rel="manifest" href="/manifest.json" />
Etapa 3: Adicionar um service worker{#service-worker}
Seu site precisa ter um arquivo de service worker que importe a biblioteca de service worker da Braze, conforme descrito em nosso guia de integração de push para web.
Etapa 4: Adicionar à tela inicial
Todos os navegadores populares (como Safari, Chrome, FireFox e Edge) suportam notificações por push da Web em suas versões mais recentes. Para solicitar permissão push no iOS ou iPadOS, seu site deve ser adicionado à tela inicial do usuário selecionando Share To > Add to Home Screen. O Add to Homescreen permite que os usuários marquem seu site como favorito, adicionando seu ícone ao valioso espaço da tela inicial.

Etapa 5: Mostrar o prompt push nativo
Após o app ter sido adicionado à sua tela inicial, agora é possível solicitar permissão de push quando o usuário realizar uma ação (como clicar em um botão). Isso pode ser feito usando o método requestPushPermission ou com uma mensagem no app sem código push primer.
Depois de aceitar ou recusar o aviso, você precisa excluir e reinstalar o site na sua tela inicial para poder mostrar o aviso novamente.

Por exemplo:
1
2
3
4
5
6
7
8
9
import { requestPushPermission } from "@braze/web-sdk";
button.onclick = function(){
requestPushPermission(() => {
console.log(`User accepted push prompt`);
}, (temporary) => {
console.log(`User ${temporary ? "temporarily dismissed" : "permanently denied"} push prompt`);
});
};
Próximas etapas
Em seguida, envie a si mesmo uma mensagem de teste para validar a integração. Depois que sua integração estiver concluída, você poderá usar nossas mensagens push primárias sem código para otimizar suas taxas de aceitação push.
Pré-requisitos
Antes de usar este recurso, você precisará integrar o SDK Unity Braze.
Configuração da notificação por push
Etapa 1: Configurar a plataforma
Etapa 1.1: ativar Firebase
Para começar, siga a documentação de configuração do Firebase Unity.
Integrar o Firebase Unity SDK pode fazer com que seu AndroidManifest.xml seja substituído. Se isso ocorrer, certifique-se de reverter para o original.
Etapa 1.2: Defina suas credenciais do Firebase
Você precisa inserir sua chave de servidor do Firebase e o ID do remetente no dashboard da Braze. Para fazer isso, registre-se no console de desenvolvedores do Firebase e selecione seu projeto Firebase. Em seguida, selecione envio de mensagens na nuvem em Configurações e copie a Chave do Servidor e o ID do Remetente:
No Braze, selecione seu app Android na página de Configurações do App em Gerenciar Configurações. Em seguida, insira sua chave de servidor do Firebase no campo Firebase Cloud Messaging Server Key e o ID do remetente do Firebase no campo Firebase Cloud Messaging Sender ID.

Etapa 1.1: Verificar o método de integração
A Braze fornece uma solução Unity nativa para automatizar as integrações push do iOS. Se, em vez disso, você quiser configurar e gerenciar sua integração manualmente, consulte Swift: Notificações por push.
Caso contrário, continue para a próxima etapa.
Nossa solução de notificação por push automática aproveita o recurso de autorização provisória do iOS 12 e não está disponível para uso com o pop-up nativo de prompt por push.
Etapa 1.1: Ativar ADM
- Crie uma conta no Amazon Apps & Portal do desenvolvedor de jogos, caso ainda não tenha feito isso.
- Obtenha as credenciais do OAuth (ID do cliente e segredo do cliente) e uma chave de API do ADM.
- Ative o registro automático de ADM na janela de configuração do Unity Braze.
- Como alternativa, é possível adicionar a seguinte linha ao arquivo
res/values/braze.xmlpara ativar o registro do ADM:
- Como alternativa, é possível adicionar a seguinte linha ao arquivo
1
<bool name="com_braze_push_adm_messaging_registration_enabled">true</bool>
Etapa 2: Configurar notificações por push
Etapa 2.1: Configurar as definições de push
O SDK da Braze pode lidar automaticamente com o registro de push com os servidores do Firebase Cloud Messaging para que os dispositivos recebam notificações por push. No Unity, ative a Automate Unity Android Integration e, em seguida, defina as seguintes configurações de notificação por push.
| Configuração | Descrição |
|---|---|
| Registro automático de envio de mensagens do Firebase ativado | Instrui o Braze SDK a recuperar e enviar automaticamente um token por push FCM para um dispositivo. |
| ID de remetente do Firebase Cloud Messaging | O ID do remetente do seu console do Firebase. |
| Manipular deeplinks de push automaticamente | Se o SDK deve lidar com a abertura de links profundos ou abrir o app quando notificações por push são clicadas. |
| Pequeno Ícone de Notificação Drawable | O drawable deve ser exibido como o ícone pequeno sempre que uma notificação por push for recebida. A notificação usará o ícone do aplicativo como o ícone pequeno se nenhum ícone for fornecido. |
Etapa 2.1: Faça upload de seu token de APNs
Antes de enviar uma notificação por push para iOS usando Braze, você precisa fazer upload do seu arquivo de notificação por push .p8, conforme descrito na documentação do desenvolvedor da Apple:
- Na sua conta de desenvolvedor da Apple, acesse Certificados, Identificadores & Perfis.
- Em Chaves, selecione Todos e clique no botão adicionar (+) no canto superior direito.
- Em Descrição da Chave, insira um nome único para a chave de assinatura.
- Em Serviços Principais, selecione a caixa de seleção serviço de Notificações por Push da Apple (APNs), depois clique em Continuar. Clique Confirmar.
- Nota o ID da chave. Clique em baixar para gerar e baixar a chave. Certifique-se de salvar o arquivo baixado em um local seguro, pois você não pode baixar isso mais de uma vez.
- No Braze, acessar Configurações > Configurações do app e fazer upload do arquivo
.p8em Certificado de Push da Apple. Você pode fazer upload do seu certificado de push de desenvolvimento ou de produção. Para testar notificações por push depois que seu app estiver disponível na App Store, é recomendável configurar um espaço de trabalho separado para a versão de desenvolvimento do seu app. - Quando solicitado, insira o ID do pacote do seu app, ID da chave, e ID da equipe. Você também precisará especificar se deseja enviar notificações para o ambiente de desenvolvimento ou produção do seu app, que é definido pelo seu perfil de provisionamento.
- Quando terminar, selecione Salvar.
Etapa 2.2: Ativar o push automático
Abra as definições de configuração da Braze no Unity Editor navegando até Braze > Configurações.
Marque Integrar Push com o Braze para registrar automaticamente os usuários para notificações por push, passar tokens por push para o Braze, rastrear análises de dados para aberturas de push e aproveitar nosso tratamento padrão de notificações por push.
Etapa 2.3: Ativar o push em segundo plano (opcional)
Marque Ativar push em segundo plano se quiser ativar o background mode para notificações por push. Isso permite que o sistema desperte seu aplicativo do estado suspended quando chegar uma notificação por push, ativando seu aplicativo para baixar conteúdo em resposta às notificações por push. É necessário marcar essa opção para nossa funcionalidade de rastreamento de desinstalação.

Etapa 2.4: Desativar o registro automático (opcional)
Os usuários que ainda não tiverem aceitado as notificações por push serão automaticamente autorizados a receber push ao abrir o aplicativo. Para desativar esse recurso e registrar manualmente os usuários para push, marque Disable Automatic Push Registration (Desativar registro automático de push).
- Se a opção Disable Provisional Authorization (Desativar autorização provisória) não estiver marcada no iOS 12 ou posterior, o usuário será autorizado provisoriamente (silenciosamente) a receber o quiet push. Se estiver marcada essa opção, o usuário verá o prompt push nativo.
- Se precisar configurar exatamente quando o prompt é mostrado em tempo de execução, desative o registro automático no editor de configuração do Braze e use
AppboyBinding.PromptUserForPushPermissions().

Etapa 2.1: Atualize AndroidManifest.xml
Se o seu app não tiver um AndroidManifest.xml, você poderá usar o seguinte modelo. Caso contrário, se você já tiver um AndroidManifest.xml, confira se falta alguma das seções a seguir e adicione-as ao seu AndroidManifest.xml existente.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="REPLACE_WITH_YOUR_PACKAGE_NAME">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<permission
android:name="REPLACE_WITH_YOUR_PACKAGE_NAME.permission.RECEIVE_ADM_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="REPLACE_WITH_YOUR_PACKAGE_NAME.permission.RECEIVE_ADM_MESSAGE" />
<uses-permission android:name="com.amazon.device.messaging.permission.RECEIVE" />
<application android:icon="@drawable/app_icon"
android:label="@string/app_name">
<!-- Calls the necessary Braze methods to ensure that analytics are collected and that push notifications are properly forwarded to the Unity application. -->
<activity android:name="com.braze.unity.BrazeUnityPlayerActivity"
android:label="@string/app_name"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:screenOrientation="sensor">
<meta-data android:name="android.app.lib_name" android:value="unity" />
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="com.braze.push.BrazeAmazonDeviceMessagingReceiver" android:permission="com.amazon.device.messaging.permission.SEND">
<intent-filter>
<action android:name="com.amazon.device.messaging.intent.RECEIVE" />
<action android:name="com.amazon.device.messaging.intent.REGISTRATION" />
<category android:name="REPLACE_WITH_YOUR_PACKAGE_NAME" />
</intent-filter>
</receiver>
</application>
</manifest>
Etapa 2.2: Armazene sua chave de API do ADM
Em nome do seu aplicativo, gere uma chave de API do ADM, salve a chave em um arquivo chamado api_key.txt e adicione-o ao diretório Assets/ do projeto.
A Amazon não reconhecerá sua chave se api_key.txt contiver caracteres de espaço em branco, como uma quebra de linha à direita.
Em seguida, em seu arquivo mainTemplate.gradle, adicione o seguinte:
1
2
3
4
5
6
7
task copyAmazon(type: Copy) {
def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/")
from unityProjectPath + '/Assets/api_key.txt'
into new File(projectDir, 'src/main/assets')
}
preBuild.dependsOn(copyAmazon)
Etapa 2.3: Adicionar um arquivo .jar de ADM
O arquivo Jar do ADM necessário pode ser colocado em qualquer lugar do seu projeto, de acordo com a documentação do JAR do Unity.
Etapa 2.4: Adicionar o segredo do cliente e o ID do cliente ao dashboard da Braze
Por fim, você deve adicionar o segredo do cliente e o ID do cliente obtidos na etapa 1 à página de Gerenciar configurações do dashboard da Braze.

Etapa 3: Definir ouvintes de push
Etapa 3.1: Ativar o ouvinte de push recebido
O ouvinte recebido de push é acionado quando um usuário recebe uma notificação por push. Para enviar a carga útil do push para o Unity, defina o nome do seu objeto de jogo e envie o método de retorno de chamada do ouvinte recebido em Set Push Received Listener.
Etapa 3.2: Ativar o ouvinte de push aberto
O ouvinte aberto de push é acionado quando um usuário lança o app clicando em uma notificação por push. Para enviar a carga útil push para o Unity, defina o nome do seu objeto de jogo e o método de retorno de chamada do ouvinte de push aberto em Set Push Opened Listener.
Etapa 3.3: Ativar o ouvinte push excluído
O ouvinte de exclusão de push é acionado quando um usuário desliza ou descarta uma notificação por push. Para enviar a carga útil do push para o Unity, defina o nome do seu objeto de jogo e o método de retorno de chamada do ouvinte de push excluído em Set Push Deleted Listener.
Exemplo de ouvinte push
O exemplo a seguir implementa o objeto de jogo BrazeCallback usando um método de retorno de chamada chamado PushNotificationReceivedCallback, PushNotificationOpenedCallback e PushNotificationDeletedCallback respectivamente.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class MainMenu : MonoBehaviour {
void PushNotificationReceivedCallback(string message) {
#if UNITY_ANDROID
Debug.Log("PushNotificationReceivedCallback message: " + message);
PushNotification pushNotification = new PushNotification(message);
Debug.Log("Push Notification received: " + pushNotification);
#elif UNITY_IOS
ApplePushNotification pushNotification = new ApplePushNotification(message);
Debug.Log("Push received Notification event: " + pushNotification);
#endif
}
void PushNotificationOpenedCallback(string message) {
#if UNITY_ANDROID
Debug.Log("PushNotificationOpenedCallback message: " + message);
PushNotification pushNotification = new PushNotification(message);
Debug.Log("Push Notification opened: " + pushNotification);
#elif UNITY_IOS
ApplePushNotification pushNotification = new ApplePushNotification(message);
Debug.Log("Push opened Notification event: " + pushNotification);
#endif
}
void PushNotificationDeletedCallback(string message) {
#if UNITY_ANDROID
Debug.Log("PushNotificationDeletedCallback message: " + message);
PushNotification pushNotification = new PushNotification(message);
Debug.Log("Push Notification dismissed: " + pushNotification);
#endif
}
}
Etapa 3.1: Ativar o ouvinte de push recebido
O ouvinte de recebimento de push é acionado quando um usuário recebe uma notificação por push enquanto usa ativamente o aplicativo (por exemplo, quando o app está em primeiro plano). Defina o listener de recebimento de push no editor de configuração do Braze. Se você precisar configurar o ouvinte do objeto do jogo em tempo de execução, use AppboyBinding.ConfigureListener() e especifique BrazeUnityMessageType.PUSH_RECEIVED.

Etapa 3.2: Ativar o ouvinte de push aberto
O ouvinte aberto de push é acionado quando um usuário lança o app clicando em uma notificação por push. Para enviar a carga útil push para o Unity, defina o nome de seu objeto de jogo e o método de retorno de chamada do ouvinte de abertura de push na opção Set Push Opened Listener:

Se você precisar configurar o ouvinte do objeto do jogo em tempo de execução, use AppboyBinding.ConfigureListener() e especifique BrazeUnityMessageType.PUSH_OPENED.
Exemplo de ouvinte push
O exemplo a seguir implementa o objeto de jogo AppboyCallback usando um nome de método de retorno de chamada PushNotificationReceivedCallback e PushNotificationOpenedCallback, respectivamente.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class MainMenu : MonoBehaviour {
void PushNotificationReceivedCallback(string message) {
#if UNITY_ANDROID
Debug.Log("PushNotificationReceivedCallback message: " + message);
PushNotification pushNotification = new PushNotification(message);
Debug.Log("Push Notification received: " + pushNotification);
#elif UNITY_IOS
ApplePushNotification pushNotification = new ApplePushNotification(message);
Debug.Log("Push received Notification event: " + pushNotification);
#endif
}
void PushNotificationOpenedCallback(string message) {
#if UNITY_ANDROID
Debug.Log("PushNotificationOpenedCallback message: " + message);
PushNotification pushNotification = new PushNotification(message);
Debug.Log("Push Notification opened: " + pushNotification);
#elif UNITY_IOS
ApplePushNotification pushNotification = new ApplePushNotification(message);
Debug.Log("Push opened Notification event: " + pushNotification);
#endif
}
}
Ao atualizar o site AndroidManifest.xml na etapa anterior, os push listeners foram configurados automaticamente quando você adicionou as seguintes linhas. Portanto, não é necessária nenhuma configuração adicional.
1
2
<action android:name="com.amazon.device.messaging.intent.RECEIVE" />
<action android:name="com.amazon.device.messaging.intent.REGISTRATION" />
Para saber mais sobre os ouvintes push da ADM, consulte Amazon: Integrar o envio de mensagens da Amazon para dispositivos.
Configurações opcionais
Deep linking para recursos in-app
Embora a Braze possa lidar com links profundos padrão (como URLs de sites, URIs do Android, etc.) por padrão, a criação de links profundos personalizados requer uma configuração adicional do Manifesto.
Para obter orientações de configuração, visite Deep linking para recursos no aplicativo.
Adição de ícones de notificação por push do Braze
Para adicionar ícones push ao seu projeto, crie um plug-in do Android Archive (AAR) ou uma biblioteca do Android que contenha os arquivos de imagem do ícone. Para obter etapas e informações, consulte a documentação da Unity: Projetos de biblioteca do Android e plug-ins do Android Archive.
Retorno de chamada do token por push
Para receber uma cópia dos tokens de dispositivos Braze do sistema operacional, defina um delegate usando AppboyBinding.SetPushTokenReceivedFromSystemDelegate().
No momento, não há configurações opcionais para o ADM.
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o .NET MAUI Braze SDK.
Configurando notificações por push
Para ver como os namespaces mudam entre Java e C#, dê uma olhada em nosso app de amostra Xample no GitHub.
Para integrar notificações por push para .NET MAUI (anteriormente Xamarin), você precisará concluir as etapas para notificações por push nativas do Android. As etapas a seguir são apenas um resumo. Para obter um passo a passo completo, consulte o guia de notificações por push nativas.
Etapa 1: Atualize seu projeto
- Adicione o Firebase ao seu projeto Android.
- Adicione a biblioteca de envio de mensagens da Cloud ao site
build.gradlede seu projeto Android:1
implementation "google.firebase:firebase-messaging:+"
Etapa 2: Crie suas credenciais JSON
- No Google Cloud, ative a API de envio de mensagens do Firebase Cloud.
- Selecione Service Accounts (Contas de serviço ) > your project (seu projeto) > Create Service Account (criar conta de serviço) e insira o nome, o ID e a descrição da conta de serviço. Quando terminar, selecione Create (Criar) e continue.
- No campo Função, localize e selecione Firebase Cloud Messaging API Admin na lista de funções.
- Em Service Accounts (Contas de serviço), escolha seu projeto e selecione Actions (Ações) > Manage Keys (Gerenciar chaves) > Add Key (Adicionar chave) > Create new key (Criar nova chave). Escolha JSON e, em seguida, selecione Create (Criar).
Etapa 3: Faça upload de suas credenciais JSON
- Na Braze, selecione Configurações > Configurações do app. Nas configurações de notificação por push do seu app para Android, escolha Firebase, selecione Upload JSON File e faça upload das credenciais geradas anteriormente. Quando terminar, selecione Salvar.
- Ative o registro automático do token FCM, acessando o Firebase Console. Abra seu projeto e selecione Settings > Project settings. Selecione Envio de mensagens na nuvem e, em seguida, em Firebase Cloud Messaging API (V1), copie o número no campo Sender ID (ID do remetente ).
- Em seu projeto do Android Studio, coloque o seguinte em
braze.xml.
1
2
<bool translatable="false" name="com_braze_firebase_cloud_messaging_registration_enabled">true</bool>
<string translatable="false" name="com_braze_firebase_cloud_messaging_sender_id">FIREBASE_SENDER_ID</string>
Para evitar que a Braze dispare solicitações de rede desnecessárias sempre que você enviar notificações por push silenciosas, remova todas as solicitações de rede automáticas configuradas no método onCreate() de sua classe Application. Para saber mais, consulte Android Developer Reference: Aplicativo.
Etapa 1: Concluir a configuração inicial
Consulte as instruções de integração do Swift para obter informações sobre como configurar seu aplicativo com push e armazenar suas credenciais em nosso servidor. Consulte o aplicativo de amostra MAUI do iOS para obter mais detalhes.
Etapa 2: Solicitar permissão para notificações por push
Nosso SDK .NET MAUI agora suporta configuração automática de push. Configure a automação e as permissões do push adicionando o seguinte código à configuração da instância do Braze:
1
2
configuration.Push.Automation = new BRZConfigurationPushAutomation(true);
configuration.Push.Automation.RequestAuthorizationAtLaunch = false;
Consulte o aplicativo de amostra MAUI do iOS para obter mais detalhes. Para saber mais, consulte a documentação da Xamarin sobre Notificações aprimoradas do usuário em Xamarin.iOS.
Editar esta página no GitHub