Mensagens no app
Saiba mais sobre mensagens no app e como configurá-las para o SDK da Braze.
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o Braze Web SDK. No entanto, não é necessária nenhuma configuração adicional.
Tipos de mensagem
Todas as mensagens no app herdam seu protótipo de InAppMessage, que define o comportamento e as características básicas de todas as mensagens no app. As subclasses prototípicas são SlideUpMessage, ModalMessage, FullScreenMessage e HtmlMessage.
Cada tipo de mensagem no app é personalizável em termos de conteúdo, imagens, ícones, ações de clique, análise de dados, exibição e entrega.
As mensagens no app Modal aparecem no centro da tela e são emolduradas por um painel translúcido. Úteis para mensagens mais críticas, podem ser equipadas com até dois botões habilitados para ações de clique e análise de dados.

As mensagens no app Full são úteis para maximizar o conteúdo e o impacto da comunicação com o usuário. Em janelas de navegador estreitas (por exemplo, web mobile), as mensagens no app full ocupam toda a janela do navegador. Em janelas de navegador maiores, as mensagens no app full aparecem de forma semelhante às mensagens no app modal. A metade superior de uma mensagem no app full contém uma imagem, e a metade inferior permite até oito linhas de texto, além de até dois botões habilitados para ações de clique e análise de dados.

As mensagens no app HTML são úteis para criar conteúdo de usuário totalmente personalizado. O HTML definido pelo usuário é exibido em um iFrame e pode conter conteúdo rico, como imagens, fontes, vídeos e elementos interativos, permitindo controle total sobre a aparência e funcionalidade da mensagem. Elas suportam uma interface JavaScript brazeBridge para chamar métodos do SDK da Braze para web a partir do seu HTML. Consulte nossas melhores práticas para mais detalhes.

Para ativar mensagens no app HTML por meio do SDK para web, você precisa fornecer a opção de inicialização allowUserSuppliedJavascript para a Braze, por exemplo, braze.initialize('YOUR-API_KEY', {allowUserSuppliedJavascript: true}). Isso é por motivos de segurança. Mensagens no app HTML podem executar JavaScript, então exigimos que um mantenedor do site as ative.
O exemplo a seguir mostra uma mensagem no app HTML paginada:

Pré-requisitos
Antes de usar este recurso, você precisará integrar o SDK Android da Braze. Você também precisará ativar mensagens no app.
Tipos de mensagens
A Braze oferece vários tipos padrão de mensagens no app, cada um personalizável com mensagens, imagens, ícones Font Awesome, ações de clique, análise de dados, esquemas de cores e mais.
O comportamento e as características básicas são definidos pela interface IInAppMessage, em uma subclasse chamada InAppMessageBase. IInAppMessage também inclui uma subinterface, IInAppMessageImmersive, que permite adicionar botões de fechar, ação de clique e análise de dados ao seu app.

Lembre-se de que mensagens no app contendo botões incluirão a mensagem clickAction na carga útil final se a ação de clique for adicionada antes do texto do botão.
As mensagens no app modal aparecem no centro da tela e são emolduradas por um painel translúcido. Úteis para mensagens mais críticas, elas podem incluir dois botões com ação de clique e análise de dados ativada.
Esse tipo de mensagem é uma subclasse de InAppMessageImmersiveBase, uma classe abstrata que implementa IInAppMessageImmersive, permitindo adicionar funcionalidades personalizadas às suas mensagens no app geradas localmente.

As mensagens no app full são úteis para maximizar o conteúdo e o impacto da sua comunicação com o usuário. A metade superior de uma mensagem no app full contém uma imagem, e a metade inferior exibe texto e até dois botões com ação de clique e análise de dados.
Esse tipo de mensagem estende InAppMessageImmersiveBase, permitindo adicionar funcionalidades personalizadas às suas mensagens no app geradas localmente.

As mensagens no app HTML são úteis para criar conteúdo totalmente personalizado para o usuário. O conteúdo HTML definido pelo usuário é exibido em uma WebView e pode, opcionalmente, conter outros conteúdos avançados, como imagens e fontes, permitindo controle total sobre a aparência e a funcionalidade da mensagem.
Esse tipo de mensagem implementa IInAppMessageHtml, que é uma subclasse de IInAppMessage.

No Android, links configurados com target="_blank" em mensagens no app HTML personalizadas abrem no navegador web padrão do dispositivo.
As mensagens no app para Android suportam uma interface JavaScript brazeBridge para chamar métodos no SDK Android da Braze a partir do seu HTML. Consulte nossa página sobre JavaScript bridge para mais detalhes.


Atualmente, não oferecemos suporte à exibição de mensagens no app HTML personalizadas em um iFrame nas plataformas iOS e Android.

Você também pode definir visualizações personalizadas de mensagens no app para o seu app. Para um guia completo, consulte Definindo fábricas personalizadas.
Ativação de mensagens no app
Etapa 1: Registrar BrazeInAppMessageManager
A exibição de mensagens no app é gerenciada pela classe BrazeInAppMessageManager. Todas as atividades do seu app devem ser registradas no site BrazeInAppMessageManager para permitir que ele adicione visualizações de mensagens no app à hierarquia de visualizações. Há duas maneiras de fazer isso:
A integração do retorno de chamada do ciclo de vida da atividade lida automaticamente com o registro de mensagens no app; não é necessária nenhuma integração extra. Este é o método recomendado para gerenciar o registro de mensagens no app.

Se você estiver usando retorno de chamada do ciclo de vida da atividade para registro automático, não complete esta etapa.
Em seu Application.onCreate(), chame ensureSubscribedToInAppMessageEvents():
BrazeInAppMessageManager.getInstance().ensureSubscribedToInAppMessageEvents(context);
BrazeInAppMessageManager.getInstance().ensureSubscribedToInAppMessageEvents(context)
Em cada atividade onde mensagens no app podem ser exibidas, chame registerInAppMessageManager() no onResume() dessa atividade:
@Override
public void onResume() {
super.onResume();
// Registers the BrazeInAppMessageManager for the current Activity. This Activity will now listen for
// in-app messages from Braze.
BrazeInAppMessageManager.getInstance().registerInAppMessageManager(activity);
}
public override fun onResume() {
super.onResume()
// Registers the BrazeInAppMessageManager for the current Activity. This Activity will now listen for
// in-app messages from Braze.
BrazeInAppMessageManager.getInstance().registerInAppMessageManager(this)
}
Em cada atividade onde registerInAppMessageManager() foi chamado, chame unregisterInAppMessageManager() no onPause() dessa atividade:
@Override
public void onPause() {
super.onPause();
// Unregisters the BrazeInAppMessageManager for the current Activity.
BrazeInAppMessageManager.getInstance().unregisterInAppMessageManager(activity);
}
public override fun onPause() {
super.onPause()
// Unregisters the BrazeInAppMessageManager.
BrazeInAppMessageManager.getInstance().unregisterInAppMessageManager(this)
}
Etapa 2: Atualize a lista de bloqueio do gerente (opcional)
Em sua integração, você pode exigir que determinadas atividades em seu app não mostrem mensagens no app. A integração do retorno de chamada do ciclo de vida da atividade oferece uma maneira fácil de fazer isso.
O código de exemplo a seguir adiciona duas atividades à lista de bloqueio de registro de mensagens no app: SplashActivity e SettingsActivity.
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Set<Class> inAppMessageBlocklist = new HashSet<>();
inAppMessageBlocklist.add(SplashActivity.class);
inAppMessageBlocklist.add(SettingsActivity.class);
registerActivityLifecycleCallbacks(new BrazeActivityLifecycleCallbackListener(inAppMessageBlocklist));
}
}
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
val inAppMessageBlocklist = HashSet<Class<*>>()
inAppMessageBlocklist.add(SplashActivity::class.java)
inAppMessageBlocklist.add(SettingsActivity::class.java)
registerActivityLifecycleCallbacks(BrazeActivityLifecycleCallbackListener(inAppMessageBlocklist))
}
}
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o Braze Swift SDK. Você também precisará ativar as mensagens no app.
Tipos de mensagens
Cada tipo de mensagem no app é altamente personalizável em termos de conteúdo, imagens, ícones, ações de clique, análise de dados, exibição e entrega. Eles são tipos enumerados de Braze.InAppMessage, que define o comportamento básico e as características de todas as mensagens no app. Para obter a lista completa de propriedades e uso de mensagens no app, consulte a classe InAppMessage.
Estes são os tipos de mensagens no app disponíveis na Braze e como eles serão exibidos para os usuários finais.
As mensagens no app Modal aparecem no centro da tela e são emolduradas por um painel translúcido. Úteis para o envio de mensagens mais críticas, elas podem ser equipadas com até dois botões habilitados para análise de dados.

As mensagens no app Modal Image aparecem no centro da tela e são emolduradas por um painel translúcido. Essas mensagens são semelhantes ao tipo Modal, mas sem cabeçalho ou texto de mensagem. Úteis para o envio de mensagens mais críticas, elas podem ser equipadas com até dois botões habilitados para análise de dados.

As mensagens no app Full são úteis para maximizar o conteúdo e o impacto da sua comunicação com o usuário. A metade superior de uma mensagem no app Full contém uma imagem, e a metade inferior exibe texto e até dois botões habilitados para análise de dados.

As mensagens no app Full Image são semelhantes às mensagens no app Full, exceto pelo fato de não terem cabeçalho ou texto de mensagem. Esse tipo de mensagem é útil para maximizar o conteúdo e o impacto da sua comunicação com o usuário. Uma mensagem no app Full Image contém uma imagem que abrange toda a tela, com a opção de exibir até dois botões habilitados para análise de dados.

As mensagens no app HTML são úteis para criar conteúdo totalmente personalizado para o usuário. O conteúdo completo da mensagem no app em HTML definido pelo usuário é exibido em um WKWebView e pode, opcionalmente, conter outros conteúdos avançados, como imagens e fontes, permitindo controle total sobre a aparência e a funcionalidade da mensagem.
As mensagens no app do iOS suportam uma interface JavaScript brazeBridge para chamar métodos no Braze Web SDK a partir do seu HTML; consulte nossas práticas recomendadas para obter mais detalhes.
O exemplo a seguir mostra uma mensagem no app paginada em HTML Full:

Observe que atualmente não oferecemos suporte à exibição de mensagens no app em HTML personalizado em um iFrame nas plataformas iOS e Android.
As mensagens no app Control não contêm um componente de interface do usuário e são usadas principalmente para fins de análise de dados. Esse tipo é usado para verificar o recebimento de uma mensagem no app enviada a um grupo de controle.
Para mais detalhes sobre otimização automática de variantes e grupos de controle, consulte Otimizar com BrazeAITM.
Ativação de mensagens no app
Etapa 1: Criar uma implementação de BrazeInAppMessagePresenter
Para permitir que o Braze exiba mensagens no app, crie uma implementação do protocolo BrazeInAppMessagePresenter e atribua-o ao inAppMessagePresenter opcional em sua instância do Braze. Você também pode usar o apresentador padrão do Braze UI instanciando um objeto BrazeInAppMessageUI.
Será necessário importar a biblioteca BrazeUI para acessar a classe BrazeInAppMessageUI.
AppDelegate.braze?.inAppMessagePresenter = BrazeInAppMessageUI()
AppDelegate.braze.inAppMessagePresenter = [[BrazeInAppMessageUI alloc] init];
Etapa 2: Manusear gatilhos não correspondentes
Implementar BrazeDelegate.(_:noMatchingTriggerForEvent) na classe BrazeDelegate relevante. Quando o Braze não conseguir encontrar um disparador correspondente para um determinado evento, ele chamará esse método automaticamente.
Pré-requisitos
Antes de usar este recurso, você precisará integrar o SDK Android da Braze.
Sobre o suporte a TV e OTT
O SDK do Android Braze suporta nativamente a exibição de mensagens no app em dispositivos OTT, como a Android TV ou o Fire Stick. No entanto, há algumas diferenças importantes entre as mensagens nativas do Android e as mensagens OTT no app. Para dispositivos OTT:
- As mensagens no app que exigem o modo de toque, como o slideup, ficam desativadas no OTT.
- O item atualmente selecionado ou focalizado, como um botão ou um botão de fechar, será destacado.
- Não há suporte para cliques no corpo da mensagem no app em si, como em um botão.
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o SDK Cordova da Braze.
Tipos de mensagens
A Braze oferece vários tipos padrão de mensagens no app, cada um personalizável com mensagens, imagens, ícones Font Awesome, ações de clique, análise de dados, esquemas de cores e mais.
O comportamento e as características básicas são definidos pela interface IInAppMessage, em uma subclasse chamada InAppMessageBase. IInAppMessage também inclui uma subinterface, IInAppMessageImmersive, que permite adicionar botões de fechar, ação de clique e análise de dados ao seu app.

Lembre-se de que mensagens no app contendo botões incluirão a mensagem clickAction na carga útil final se a ação de clique for adicionada antes do texto do botão.
As mensagens no app modal aparecem no centro da tela e são emolduradas por um painel translúcido. Úteis para mensagens mais críticas, elas podem incluir dois botões com ação de clique e análise de dados ativada.
Esse tipo de mensagem é uma subclasse de InAppMessageImmersiveBase, uma classe abstrata que implementa IInAppMessageImmersive, permitindo adicionar funcionalidades personalizadas às suas mensagens no app geradas localmente.

As mensagens no app full são úteis para maximizar o conteúdo e o impacto da sua comunicação com o usuário. A metade superior de uma mensagem no app full contém uma imagem, e a metade inferior exibe texto e até dois botões com ação de clique e análise de dados.
Esse tipo de mensagem estende InAppMessageImmersiveBase, permitindo adicionar funcionalidades personalizadas às suas mensagens no app geradas localmente.

As mensagens no app HTML são úteis para criar conteúdo totalmente personalizado para o usuário. O conteúdo HTML definido pelo usuário é exibido em uma WebView e pode, opcionalmente, conter outros conteúdos avançados, como imagens e fontes, permitindo controle total sobre a aparência e a funcionalidade da mensagem.
Esse tipo de mensagem implementa IInAppMessageHtml, que é uma subclasse de IInAppMessage.

No Android, links configurados com target="_blank" em mensagens no app HTML personalizadas abrem no navegador web padrão do dispositivo.
As mensagens no app para Android suportam uma interface JavaScript brazeBridge para chamar métodos no SDK Android da Braze a partir do seu HTML. Consulte nossa página sobre JavaScript bridge para mais detalhes.


Atualmente, não oferecemos suporte à exibição de mensagens no app HTML personalizadas em um iFrame nas plataformas iOS e Android.

Você também pode definir visualizações personalizadas de mensagens no app para o seu app. Para um guia completo, consulte Definindo fábricas personalizadas.
Cada tipo de mensagem no app é altamente personalizável em termos de conteúdo, imagens, ícones, ações de clique, análise de dados, exibição e entrega. Eles são tipos enumerados de Braze.InAppMessage, que define o comportamento básico e as características de todas as mensagens no app. Para obter a lista completa de propriedades e uso de mensagens no app, consulte a classe InAppMessage.
Estes são os tipos de mensagens no app disponíveis na Braze e como eles serão exibidos para os usuários finais.
As mensagens no app Modal aparecem no centro da tela e são emolduradas por um painel translúcido. Úteis para o envio de mensagens mais críticas, elas podem ser equipadas com até dois botões habilitados para análise de dados.

As mensagens no app Modal Image aparecem no centro da tela e são emolduradas por um painel translúcido. Essas mensagens são semelhantes ao tipo Modal, mas sem cabeçalho ou texto de mensagem. Úteis para o envio de mensagens mais críticas, elas podem ser equipadas com até dois botões habilitados para análise de dados.

As mensagens no app Full são úteis para maximizar o conteúdo e o impacto da sua comunicação com o usuário. A metade superior de uma mensagem no app Full contém uma imagem, e a metade inferior exibe texto e até dois botões habilitados para análise de dados.

As mensagens no app Full Image são semelhantes às mensagens no app Full, exceto pelo fato de não terem cabeçalho ou texto de mensagem. Esse tipo de mensagem é útil para maximizar o conteúdo e o impacto da sua comunicação com o usuário. Uma mensagem no app Full Image contém uma imagem que abrange toda a tela, com a opção de exibir até dois botões habilitados para análise de dados.

As mensagens no app HTML são úteis para criar conteúdo totalmente personalizado para o usuário. O conteúdo completo da mensagem no app em HTML definido pelo usuário é exibido em um WKWebView e pode, opcionalmente, conter outros conteúdos avançados, como imagens e fontes, permitindo controle total sobre a aparência e a funcionalidade da mensagem.
As mensagens no app do iOS suportam uma interface JavaScript brazeBridge para chamar métodos no Braze Web SDK a partir do seu HTML; consulte nossas práticas recomendadas para obter mais detalhes.
O exemplo a seguir mostra uma mensagem no app paginada em HTML Full:

Observe que atualmente não oferecemos suporte à exibição de mensagens no app em HTML personalizado em um iFrame nas plataformas iOS e Android.
As mensagens no app Control não contêm um componente de interface do usuário e são usadas principalmente para fins de análise de dados. Esse tipo é usado para verificar o recebimento de uma mensagem no app enviada a um grupo de controle.
Para mais detalhes sobre otimização automática de variantes e grupos de controle, consulte Otimizar com BrazeAITM.
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o Flutter Braze SDK.
Tipos de mensagens
A Braze oferece vários tipos padrão de mensagens no app, cada um personalizável com mensagens, imagens, ícones Font Awesome, ações de clique, análise de dados, esquemas de cores e mais.
O comportamento e as características básicas são definidos pela interface IInAppMessage, em uma subclasse chamada InAppMessageBase. IInAppMessage também inclui uma subinterface, IInAppMessageImmersive, que permite adicionar botões de fechar, ação de clique e análise de dados ao seu app.

Lembre-se de que mensagens no app contendo botões incluirão a mensagem clickAction na carga útil final se a ação de clique for adicionada antes do texto do botão.
As mensagens no app modal aparecem no centro da tela e são emolduradas por um painel translúcido. Úteis para mensagens mais críticas, elas podem incluir dois botões com ação de clique e análise de dados ativada.
Esse tipo de mensagem é uma subclasse de InAppMessageImmersiveBase, uma classe abstrata que implementa IInAppMessageImmersive, permitindo adicionar funcionalidades personalizadas às suas mensagens no app geradas localmente.

As mensagens no app full são úteis para maximizar o conteúdo e o impacto da sua comunicação com o usuário. A metade superior de uma mensagem no app full contém uma imagem, e a metade inferior exibe texto e até dois botões com ação de clique e análise de dados.
Esse tipo de mensagem estende InAppMessageImmersiveBase, permitindo adicionar funcionalidades personalizadas às suas mensagens no app geradas localmente.

As mensagens no app HTML são úteis para criar conteúdo totalmente personalizado para o usuário. O conteúdo HTML definido pelo usuário é exibido em uma WebView e pode, opcionalmente, conter outros conteúdos avançados, como imagens e fontes, permitindo controle total sobre a aparência e a funcionalidade da mensagem.
Esse tipo de mensagem implementa IInAppMessageHtml, que é uma subclasse de IInAppMessage.

No Android, links configurados com target="_blank" em mensagens no app HTML personalizadas abrem no navegador web padrão do dispositivo.
As mensagens no app para Android suportam uma interface JavaScript brazeBridge para chamar métodos no SDK Android da Braze a partir do seu HTML. Consulte nossa página sobre JavaScript bridge para mais detalhes.


Atualmente, não oferecemos suporte à exibição de mensagens no app HTML personalizadas em um iFrame nas plataformas iOS e Android.

Você também pode definir visualizações personalizadas de mensagens no app para o seu app. Para um guia completo, consulte Definindo fábricas personalizadas.
Cada tipo de mensagem no app é altamente personalizável em termos de conteúdo, imagens, ícones, ações de clique, análise de dados, exibição e entrega. Eles são tipos enumerados de Braze.InAppMessage, que define o comportamento básico e as características de todas as mensagens no app. Para obter a lista completa de propriedades e uso de mensagens no app, consulte a classe InAppMessage.
Estes são os tipos de mensagens no app disponíveis na Braze e como eles serão exibidos para os usuários finais.
As mensagens no app Modal aparecem no centro da tela e são emolduradas por um painel translúcido. Úteis para o envio de mensagens mais críticas, elas podem ser equipadas com até dois botões habilitados para análise de dados.

As mensagens no app Modal Image aparecem no centro da tela e são emolduradas por um painel translúcido. Essas mensagens são semelhantes ao tipo Modal, mas sem cabeçalho ou texto de mensagem. Úteis para o envio de mensagens mais críticas, elas podem ser equipadas com até dois botões habilitados para análise de dados.

As mensagens no app Full são úteis para maximizar o conteúdo e o impacto da sua comunicação com o usuário. A metade superior de uma mensagem no app Full contém uma imagem, e a metade inferior exibe texto e até dois botões habilitados para análise de dados.

As mensagens no app Full Image são semelhantes às mensagens no app Full, exceto pelo fato de não terem cabeçalho ou texto de mensagem. Esse tipo de mensagem é útil para maximizar o conteúdo e o impacto da sua comunicação com o usuário. Uma mensagem no app Full Image contém uma imagem que abrange toda a tela, com a opção de exibir até dois botões habilitados para análise de dados.

As mensagens no app HTML são úteis para criar conteúdo totalmente personalizado para o usuário. O conteúdo completo da mensagem no app em HTML definido pelo usuário é exibido em um WKWebView e pode, opcionalmente, conter outros conteúdos avançados, como imagens e fontes, permitindo controle total sobre a aparência e a funcionalidade da mensagem.
As mensagens no app do iOS suportam uma interface JavaScript brazeBridge para chamar métodos no Braze Web SDK a partir do seu HTML; consulte nossas práticas recomendadas para obter mais detalhes.
O exemplo a seguir mostra uma mensagem no app paginada em HTML Full:

Observe que atualmente não oferecemos suporte à exibição de mensagens no app em HTML personalizado em um iFrame nas plataformas iOS e Android.
As mensagens no app Control não contêm um componente de interface do usuário e são usadas principalmente para fins de análise de dados. Esse tipo é usado para verificar o recebimento de uma mensagem no app enviada a um grupo de controle.
Para mais detalhes sobre otimização automática de variantes e grupos de controle, consulte Otimizar com BrazeAITM.
Ativação de mensagens no app
O SDK Flutter da Braze configura automaticamente o apresentador padrão de mensagens no app tanto no Android quanto no iOS. As mensagens no app são exibidas e encaminhadas para a camada Dart sem configuração adicional.
Personalizando o apresentador de mensagens no app no iOS
Para substituir o apresentador padrão de mensagens no app no iOS, use o closure postInitialization em BrazePlugin.configure(_:postInitialization:). Seu apresentador personalizado deve chamar BrazePlugin.processInAppMessage(message) para encaminhar os dados da mensagem no app para a camada Dart.
import BrazeUI
BrazePlugin.configure(
{ configuration in
// Set non-API-key configurations here.
},
postInitialization: { braze in
let customPresenter = CustomInAppMessagePresenter()
braze.inAppMessagePresenter = customPresenter
}
)
Na classe do apresentador personalizado, chame BrazePlugin.processInAppMessage(message) e super.present(message: message) para encaminhar os dados para o Dart e exibir a UI padrão.
class CustomInAppMessagePresenter: BrazeInAppMessageUI {
override func present(message: Braze.InAppMessage) {
BrazePlugin.processInAppMessage(message)
super.present(message: message)
}
}

Esta etapa é apenas para iOS. A implementação padrão para mensagens no app já está configurada no Android.
Para configurar o apresentador padrão para mensagens no app no iOS, crie uma implementação do protocolo BrazeInAppMessagePresenter e atribua-o ao inAppMessagePresenter opcional na sua instância da Braze. Você também pode usar o apresentador padrão da Braze UI instanciando um objeto BrazeInAppMessageUI.
Você deve importar a biblioteca BrazeUI para acessar a classe BrazeInAppMessageUI.
import BrazeUI
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {
...
let braze = BrazePlugin.initBraze(configuration)
braze.inAppMessagePresenter = BrazeInAppMessageUI()
AppDelegate.braze = braze
return true
}
@import BrazeUI;
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
...
Braze *braze = [BrazePlugin initBraze:configuration];
braze.inAppMessagePresenter = [[BrazeInAppMessageUI alloc] init];
AppDelegate.braze = braze;
[self.window makeKeyAndVisible];
return YES;
}
Para saber mais sobre como acessar dados de mensagens no app, consulte Registro de dados de mensagens no app.
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o SDK React Native da Braze.
Tipos de mensagens
A Braze oferece vários tipos padrão de mensagens no app, cada um personalizável com mensagens, imagens, ícones Font Awesome, ações de clique, análise de dados, esquemas de cores e mais.
O comportamento e as características básicas são definidos pela interface IInAppMessage, em uma subclasse chamada InAppMessageBase. IInAppMessage também inclui uma subinterface, IInAppMessageImmersive, que permite adicionar botões de fechar, ação de clique e análise de dados ao seu app.

Lembre-se de que mensagens no app contendo botões incluirão a mensagem clickAction na carga útil final se a ação de clique for adicionada antes do texto do botão.
As mensagens no app modal aparecem no centro da tela e são emolduradas por um painel translúcido. Úteis para mensagens mais críticas, elas podem incluir dois botões com ação de clique e análise de dados ativada.
Esse tipo de mensagem é uma subclasse de InAppMessageImmersiveBase, uma classe abstrata que implementa IInAppMessageImmersive, permitindo adicionar funcionalidades personalizadas às suas mensagens no app geradas localmente.

As mensagens no app full são úteis para maximizar o conteúdo e o impacto da sua comunicação com o usuário. A metade superior de uma mensagem no app full contém uma imagem, e a metade inferior exibe texto e até dois botões com ação de clique e análise de dados.
Esse tipo de mensagem estende InAppMessageImmersiveBase, permitindo adicionar funcionalidades personalizadas às suas mensagens no app geradas localmente.

As mensagens no app HTML são úteis para criar conteúdo totalmente personalizado para o usuário. O conteúdo HTML definido pelo usuário é exibido em uma WebView e pode, opcionalmente, conter outros conteúdos avançados, como imagens e fontes, permitindo controle total sobre a aparência e a funcionalidade da mensagem.
Esse tipo de mensagem implementa IInAppMessageHtml, que é uma subclasse de IInAppMessage.

No Android, links configurados com target="_blank" em mensagens no app HTML personalizadas abrem no navegador web padrão do dispositivo.
As mensagens no app para Android suportam uma interface JavaScript brazeBridge para chamar métodos no SDK Android da Braze a partir do seu HTML. Consulte nossa página sobre JavaScript bridge para mais detalhes.


Atualmente, não oferecemos suporte à exibição de mensagens no app HTML personalizadas em um iFrame nas plataformas iOS e Android.

Você também pode definir visualizações personalizadas de mensagens no app para o seu app. Para um guia completo, consulte Definindo fábricas personalizadas.
Cada tipo de mensagem no app é altamente personalizável em termos de conteúdo, imagens, ícones, ações de clique, análise de dados, exibição e entrega. Eles são tipos enumerados de Braze.InAppMessage, que define o comportamento básico e as características de todas as mensagens no app. Para obter a lista completa de propriedades e uso de mensagens no app, consulte a classe InAppMessage.
Estes são os tipos de mensagens no app disponíveis na Braze e como eles serão exibidos para os usuários finais.
As mensagens no app Modal aparecem no centro da tela e são emolduradas por um painel translúcido. Úteis para o envio de mensagens mais críticas, elas podem ser equipadas com até dois botões habilitados para análise de dados.

As mensagens no app Modal Image aparecem no centro da tela e são emolduradas por um painel translúcido. Essas mensagens são semelhantes ao tipo Modal, mas sem cabeçalho ou texto de mensagem. Úteis para o envio de mensagens mais críticas, elas podem ser equipadas com até dois botões habilitados para análise de dados.

As mensagens no app Full são úteis para maximizar o conteúdo e o impacto da sua comunicação com o usuário. A metade superior de uma mensagem no app Full contém uma imagem, e a metade inferior exibe texto e até dois botões habilitados para análise de dados.

As mensagens no app Full Image são semelhantes às mensagens no app Full, exceto pelo fato de não terem cabeçalho ou texto de mensagem. Esse tipo de mensagem é útil para maximizar o conteúdo e o impacto da sua comunicação com o usuário. Uma mensagem no app Full Image contém uma imagem que abrange toda a tela, com a opção de exibir até dois botões habilitados para análise de dados.

As mensagens no app HTML são úteis para criar conteúdo totalmente personalizado para o usuário. O conteúdo completo da mensagem no app em HTML definido pelo usuário é exibido em um WKWebView e pode, opcionalmente, conter outros conteúdos avançados, como imagens e fontes, permitindo controle total sobre a aparência e a funcionalidade da mensagem.
As mensagens no app do iOS suportam uma interface JavaScript brazeBridge para chamar métodos no Braze Web SDK a partir do seu HTML; consulte nossas práticas recomendadas para obter mais detalhes.
O exemplo a seguir mostra uma mensagem no app paginada em HTML Full:

Observe que atualmente não oferecemos suporte à exibição de mensagens no app em HTML personalizado em um iFrame nas plataformas iOS e Android.
As mensagens no app Control não contêm um componente de interface do usuário e são usadas principalmente para fins de análise de dados. Esse tipo é usado para verificar o recebimento de uma mensagem no app enviada a um grupo de controle.
Para mais detalhes sobre otimização automática de variantes e grupos de controle, consulte Otimizar com BrazeAITM.
Modelo de dados
O modelo de mensagem no app está disponível no SDK do React Native. A Braze tem quatro tipos de mensagem no app que compartilham o mesmo modelo de dados: slideup, modal, full e HTML full.
Mensagens
O modelo de mensagem no app fornece a base para todas as mensagens no app.
| Propriedade | Descrição |
|---|---|
inAppMessageJsonString |
A representação JSON da mensagem. |
message |
O texto da mensagem. |
header |
O cabeçalho da mensagem. |
uri |
O URI associado à ação de clique do botão. |
imageUrl |
A URL da imagem da mensagem. |
zippedAssetsUrl |
Os ativos compactados preparados para exibir conteúdo HTML. |
useWebView |
Indica se a ação de clique do botão deve redirecionar usando uma visualização da web. |
duration |
A duração de exibição da mensagem. |
clickAction |
O tipo de ação de clique do botão. Os tipos são: URI e NONE. |
dismissType |
O tipo de fechamento da mensagem. Os dois tipos são: SWIPE e AUTO_DISMISS. |
messageType |
O tipo de mensagem no app suportado pelo SDK. Os quatro tipos são: SLIDEUP, MODAL, FULL e HTML_FULL. |
extras |
O dicionário de extras da mensagem. Valor padrão: [:]. |
buttons |
A lista de botões na mensagem no app. |
toString() |
A mensagem como uma representação em string. |
Para uma referência completa do modelo de mensagem no app, consulte a documentação para Android e para iOS.
Botões
Botões podem ser adicionados às mensagens no app para realizar ações e registrar análise de dados. O modelo de botão fornece a base para todos os botões de mensagem no app.
| Propriedade | Descrição |
|---|---|
text |
O texto no botão. |
uri |
O URI associado à ação de clique do botão. |
useWebView |
Indica se a ação de clique do botão deve redirecionar usando uma visualização da web. |
clickAction |
O tipo de ação de clique processada quando o usuário clica no botão. Os tipos são: URI e NONE. |
id |
O ID do botão na mensagem. |
toString() |
A representação do botão como uma string. |
Para uma referência completa do modelo de botão, consulte a documentação para Android e para iOS.
Pré-requisitos
Antes de usar este recurso, você precisará integrar o Roku Braze SDK. Além disso, as mensagens no app só serão enviadas para dispositivos Roku que estejam executando a versão mínima suportada do SDK:
Tipos de mensagem
O Roku SDK oferece suporte apenas a mensagens no app do tipo modal.
Escolher um método de exibição
O Roku SDK 2.3.0 e versões posteriores podem exibir mensagens no app para você. Você também pode continuar renderizando essas mensagens com sua própria interface.
| Método | Descrição |
|---|---|
| Interface padrão | O SDK exibe mensagens no app modais e registra impressões e cliques. Essa opção vem desativada por padrão. |
| Interface personalizada | Seu app observa BrazeTask.BrazeInAppMessage, renderiza a mensagem e registra impressões e cliques. É assim que as mensagens no app funcionam nas versões anteriores do SDK. |
| Interface padrão com substituições personalizadas | O SDK exibe mensagens no app modais, e sua Scene renderiza mensagens específicas com a própria interface. |
Se você estiver fazendo upgrade e já usa uma interface personalizada, consulte Upgrade para o Roku SDK 2.3.0. Sua interface personalizada continua funcionando desde que você não ative a interface padrão.
Usando a interface padrão

A interface padrão requer o Roku SDK 2.3.0 ou posterior.
Etapa 1: Adicione os arquivos da interface padrão
Adicione os seguintes arquivos do diretório sdk_files/components do repositório do Braze Roku SDK ao diretório components do seu app:
BrazeDefaultInAppMessage.brsBrazeDefaultInAppMessage.xmlBrazeDefaultInAppMessageStyles.brs
Se esses arquivos estiverem ausentes, o SDK registra BrazeDefaultInAppMessage component not found e não exibe a mensagem.
Etapa 2: Ative a interface padrão
Em main.brs, defina automatic_iam_display como true na sua configuração da Braze:
config[config_fields.AUTOMATIC_IAM_DISPLAY] = true
globalNode.addFields({brazeConfig: config})
Etapa 3: Inicialize a Braze a partir da sua Scene
Chame getBrazeInstance() a partir do seu componente Scene, por exemplo, em init():
sub init()
m.BrazeTask = CreateObject("roSGNode", "BrazeTask")
m.Braze = getBrazeInstance(m.BrazeTask)
end sub

Se você chamar getBrazeInstance() a partir de qualquer outro componente, o SDK não consegue anexar a sobreposição à Scene, e a mensagem é perdida.
Você não precisa observar BrazeTask.BrazeInAppMessage nem criar nenhuma interface para as mensagens padrão.
Como a interface padrão funciona
Mensagens compatíveis
A interface padrão exibe apenas mensagens no app do tipo MODAL. O SDK descarta outros tipos e registra um erro.
A interface padrão usa os campos a seguir e ignora todos os outros.
| Campo | Como a interface padrão usa o campo |
|---|---|
image_url |
Imagem na parte superior da mensagem. |
header |
Texto do cabeçalho. |
message |
Texto do corpo. |
text_align |
Alinhamento do cabeçalho e do corpo: "START", "CENTER" ou "END". |
bg_color |
Cor de fundo da mensagem. |
frame_color |
Cor da sobreposição em tela inteira atrás da mensagem. |
header_text_color |
Cor do texto do cabeçalho. |
message_text_color |
Cor do texto do corpo. |
close_button_color |
Cor do botão de fechar ×. |
buttons |
Até dois botões. Cada botão usa seus valores de text, bg_color e text_color. |
Exibição e dispensa
Para cada mensagem modal, o SDK faz o seguinte:
- Aguarda
display_delaysegundos, se definido. - Adiciona uma sobreposição
BrazeDefaultInAppMessageem tela inteira à sua Scene e dá foco a ela. - Registra a impressão.
- Limpa
BrazeTask.BrazeInAppMessage. - Quando a mensagem é fechada, remove a sobreposição e restaura o foco.
Se dismiss_type for AUTO_DISMISS, a mensagem é fechada depois de duration milissegundos e nenhum clique é registrado. Caso contrário, a mensagem permanece na tela até que o usuário a feche.
O SDK mostra uma mensagem por vez e não coloca mensagens em fila:
- Uma mensagem mais recente cancela uma mensagem que ainda está aguardando seu
display_delay. - Uma mensagem mais recente substitui a mensagem na tela quando é exibida, depois do seu próprio
display_delay. - Mensagens descartadas (que não são
MODALou que não têm um valor demessage) não cancelam nem substituem nada.
Controle remoto
| Tecla | Resultado |
|---|---|
| Esquerda e Direita | Alterna entre os botões (até dois). |
| Para cima e Para baixo | Move o foco para o botão de fechar × e de volta. |
| OK em um botão | Registra um clique no botão, fecha a mensagem e chama brazeHandleInAppMessageClick. |
| OK sem botões | Registra um clique no corpo, fecha a mensagem e chama brazeHandleInAppMessageClick. |
| OK no botão de fechar × | Fecha a mensagem. Nenhum clique é registrado e brazeHandleInAppMessageClick não é chamado. |
| Voltar | Fecha a mensagem. Nenhum clique é registrado e brazeHandleInAppMessageClick não é chamado. |
| Qualquer outra tecla | Ignorada. A sobreposição captura todos os eventos de tecla. |
Foco
Se o seu app chamar setFocus enquanto a sobreposição estiver sendo exibida (por exemplo, quando um conteúdo carrega, as telas mudam ou um vídeo é reproduzido), a sobreposição retoma o foco. Quando a mensagem é fechada, o foco volta para o último nó que recebeu foco no seu app.
Se o seu app abrir um dialog da Scene enquanto a sobreposição estiver sendo exibida, o diálogo mantém o foco até ser fechado.
Como lidar com cliques e deep links
O SDK nunca abre URIs. Para lidar com o click_action e o uri de uma mensagem, implemente brazeHandleInAppMessageClick(event) na sua Scene e declare essa função na <interface> da Scene. Se ela não for declarada, o SDK não a chama.
<component name="MainScene" extends="Scene">
<interface>
<function name="brazeHandleInAppMessageClick" />
</interface>
...
</component>
O parâmetro event tem a seguinte estrutura:
{
in_app_message: <message AA>,
button: <button AA, or invalid for a body click>,
button_index: <0 or 1, or -1 for a body click>
}
Lembre-se do seguinte:
- O SDK chama essa função depois de remover a sobreposição e restaurar o foco. Então, você pode abrir uma nova tela a partir dela.
- Botões com
click_actionigual a"NONE"também chamam essa função. Verifique oclick_actionantes de agir. - O SDK ignora o valor de retorno.
- O SDK não chama essa função quando o usuário fecha a mensagem com o botão de fechar ×, com o botão Voltar ou com
AUTO_DISMISS. - O SDK não chama essa função para mensagens que você renderiza com
brazeHandleCustomInAppMessage.
Exemplo: Encaminhar um deep link
- No dashboard da Braze, defina o comportamento ao clicar da mensagem ou do botão como um deep link com um URI que seu app entenda, como
myapp://details/123. O SDK o entrega comoclick_action = "URI", com o URI emuri. - Em
brazeHandleInAppMessageClick, analise o URI e encaminhe para a tela correspondente:
function brazeHandleInAppMessageClick(event as object) as boolean
target = event.button
if target = invalid then target = event.in_app_message
if target.click_action <> "URI" then return false
if target.uri = invalid then return false
uri = target.uri.ToStr()
prefix = "myapp://details/"
if Left(uri, Len(prefix)) = prefix
' ShowDetailsScreen is a function in your app.
ShowDetailsScreen(Mid(uri, Len(prefix) + 1))
return true
end if
return false
end function

O valor de uri pode chegar como número, por exemplo, se o valor no dashboard for numérico. Converta-o com ToStr() antes de analisá-lo.
Renderização de mensagens específicas com uma interface personalizada
Para renderizar algumas mensagens com sua própria interface e usar a interface padrão para as demais, implemente brazeHandleCustomInAppMessage(in_app_message) na sua Scene e declare essa função na <interface> da Scene.
O SDK chama essa função para cada mensagem MODAL depois do display_delay. Retorne true se você renderizou a mensagem. Retorne false para exibi-la com a interface padrão.
<interface>
<function name="brazeHandleCustomInAppMessage" />
<function name="brazeHandleInAppMessageClick" />
</interface>
function brazeHandleCustomInAppMessage(in_app_message as object) as boolean
if in_app_message.extras <> invalid and in_app_message.extras.msgtype = "sidebyside"
' getDeepestFocusedNode is a helper in the sample app's MainScene.brs.
m.oldFocus = getDeepestFocusedNode(m.top.focusedChild)
m.customMsg = CreateObject("roSGNode", "CustomSideBySideInAppMessage")
m.top.appendChild(m.customMsg)
m.customMsg.BrazeTask = m.BrazeTask
m.customMsg.inappmessage = in_app_message
m.customMsg.setFocus(true)
m.customMsg.ObserveField("isClosed", "reclaimFocus")
return true
end if
return false
end function
sub reclaimFocus()
m.top.removeChild(m.customMsg)
m.customMsg = invalid
if m.oldFocus <> invalid then m.oldFocus.setFocus(true)
end sub
Para ver um componente personalizado completo, consulte CustomSideBySideInAppMessage no app de exemplo torchietv no repositório do Roku SDK da Braze.
Lembre-se do seguinte:
- O SDK só chama essa função quando
automatic_iam_displayétruee os arquivos da interface padrão estão no seu app. - Somente mensagens
MODALchegam a essa função. - Sua interface personalizada é responsável por registrar impressões, cliques e cliques em botões, remover o próprio nó e restaurar o foco.
- O SDK limpa
BrazeTask.BrazeInAppMessagee aplica odisplay_delaypor conta própria. Então, não faça nenhuma dessas ações você mesmo. - Quando uma mensagem mais recente chega, o SDK remove a sobreposição padrão antes de chamar essa função. Ele não consegue remover um layout personalizado que você renderizou antes, então remova-o na sua Scene.
Usando uma interface personalizada para todas as mensagens
Se você deixar automatic_iam_display sem definir, seu app processa todas as mensagens no app. Seu observador, sua interface e seu registro funcionam como antes do Roku SDK 2.3.0, para todos os tipos de mensagem.
Etapa 1: Adicionar um observador
Para processar mensagens no app, você pode adicionar um observador em BrazeTask.BrazeInAppMessage:
m.BrazeTask.observeField("BrazeInAppMessage", "onInAppMessageReceived")
Etapa 2: Acessar as mensagens disparadas
Depois, dentro do seu manipulador, você tem acesso à mensagem no app de maior prioridade que suas Campaigns dispararam:
sub onInAppMessageReceived()
in_app_message = m.BrazeTask.BrazeInAppMessage
...
end sub
Atualização para o Roku SDK 2.3.0
O Roku SDK 2.3.0 adiciona a interface padrão. Ela vem desativada por padrão, então a atualização não muda a forma como suas mensagens no app são exibidas. Escolha um dos caminhos a seguir.
Manter sua interface personalizada
- Substitua seus arquivos de SDK existentes pelos arquivos do diretório
sdk_filesda versão 2.3.0. - Deixe
automatic_iam_displaysem definir.
Seu observador, sua interface e seu registro continuam funcionando como antes, para todos os tipos de mensagem. O SDK usa os arquivos BrazeDefaultInAppMessage somente quando automatic_iam_display é true, então é seguro copiá-los junto com o restante de sdk_files.
Mudar para a interface padrão
- Substitua seus arquivos de SDK existentes pelos arquivos do diretório
sdk_filesda versão 2.3.0 e adicione os arquivosBrazeDefaultInAppMessage.brs,BrazeDefaultInAppMessage.xmleBrazeDefaultInAppMessageStyles.brsacomponents. Seu antigo componente de exemploBrazeInAppMessagenão é alterado. Você pode excluí-lo depois de fazer a mudança. - Ative a interface padrão.
- Verifique se
getBrazeInstance()é chamado a partir da sua Scene. - Remova o tratamento de mensagens no app que você já tem:
- O observador:
m.BrazeTask.observeField("BrazeInAppMessage", "onInAppMessageReceived")e o respectivo handler - A criação e a anexação do seu nó de mensagem no app
- As chamadas para
LogInAppMessageImpression,LogInAppMessageClickeLogInAppMessageButtonClick m.BrazeTask.BrazeInAppMessage = invalid
- O observador:
- Mova o tratamento de cliques e deep links para
brazeHandleInAppMessageClick.

O SDK adiciona o próprio observador e não substitui o seu. Se você mantiver seu observador e seu registro ao ativar a interface padrão, as mensagens podem ser exibidas duas vezes, e as impressões e os cliques são registrados em dobro.
Manter alguns dos seus layouts personalizados
Siga as etapas em Mudar para a interface padrão. Depois, mova o código de renderização do seu antigo handler para brazeHandleCustomInAppMessage.
Em comparação com o seu antigo handler:
- Mantenha o registro de impressões e cliques.
- Continue removendo seu próprio nó e restaurando o foco.
- Remova
m.BrazeTask.BrazeInAppMessage = invalid. O SDK faz essa limpeza. - Remova seu próprio tratamento de
display_delay. O SDK aplica esse valor. - Somente mensagens
MODALchegam à função. Se você renderiza outros tipos de mensagem, continue usando uma interface personalizada para todas as mensagens.
Campos de mensagem
Estes campos estão disponíveis em in_app_message quando você renderiza mensagens com uma interface personalizada. A interface padrão já os aplica para você.
Tratamento
Confira a seguir os campos de que você precisa para tratar suas mensagens no app:
| Campos | Descrição |
|---|---|
buttons |
Lista de botões (pode ser uma lista vazia). |
click_action |
"URI" ou "NONE". Use este campo para indicar se a mensagem no app deve abrir um link de URI ou fechar a mensagem quando clicada. Quando não houver botões, isso deve acontecer quando o usuário clicar em “OK” enquanto a mensagem no app estiver sendo exibida. |
dismiss_type |
"AUTO_DISMISS" ou "SWIPE". Use este campo para indicar se a mensagem no app será dispensada automaticamente ou se exigirá que o usuário deslize para dispensá-la. |
display_delay |
Quanto tempo (em segundos) esperar até exibir a mensagem no app. |
duration |
Por quanto tempo (em milissegundos) a mensagem deve ser exibida quando dismiss_type estiver definido como "AUTO_DISMISS". |
extras |
Pares de chave-valor. |
header |
O texto do cabeçalho. |
id |
O ID usado para registrar impressões ou cliques. |
image_url |
URL da imagem da mensagem no app. |
message |
Texto do corpo da mensagem. |
uri |
O URI para o qual seus usuários serão direcionados com base no seu click_action. Este campo deve ser incluído quando click_action for "URI". |

Em mensagens no app com botões, o click_action da mensagem também será incluído na carga útil final se a ação de clique for adicionada antes do texto do botão.
Estilo
Também há vários campos de estilo que você pode usar a partir do dashboard:
| Campos | Descrição |
|---|---|
bg_color |
Cor do plano de fundo. |
close_button_color |
Cor do botão de fechar. |
frame_color |
A cor da sobreposição da tela de fundo. |
header_text_color |
Cor do texto do cabeçalho. |
message_text_color |
Cor do texto da mensagem. |
text_align |
“START”, “CENTER” ou “END”. O alinhamento de texto selecionado. |
Como alternativa, você pode implementar a mensagem no app e estilizá-la no seu aplicativo Roku usando uma paleta padrão:
Botões
| Campos | Descrição |
|---|---|
click_action |
"URI" ou "NONE". Use este campo para indicar se a mensagem no app deve abrir um link de URI ou fechar a mensagem quando clicada. |
id |
O valor de ID do próprio botão. |
text |
O texto a ser exibido no botão. |
uri |
O URI para o qual seus usuários serão direcionados com base no seu click_action. Este campo deve ser incluído quando click_action for "URI". |

Lembre-se de que você precisará implementar sua própria interface personalizada, pois o envio de mensagens no aplicativo é suportado por meio de uma interface sem cabeça usando o SDK SWIFT—que não inclui nenhuma interface ou visualização padrão para tvOS.
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o Braze Swift SDK.
Ativação de mensagens no app
Etapa 1: Criar um novo app para iOS
Na Braze, selecione Settings > App Settings e, em seguida, selecione Add App. Digite um nome para o seu aplicativo para tvOS, selecione iOS - não_tvOS - e_selecione Adicionar aplicativo.


Se você selecionar a caixa de seleção tvOS, não poderá personalizar as mensagens no app para tvOS.
Etapa 2: Obtenha a chave de API de seu app
Nas configurações do aplicativo, selecione o novo aplicativo para tvOS e, em seguida, note a chave de API do aplicativo. Você usará essa chave para configurar seu app no Xcode.

Etapa 3: Integrar o BrazeKit
Use a chave de API de seu app para integrar o Braze Swift SDK em seu projeto tvOS no Xcode. Você só precisa integrar a BrazeKit a partir da Braze Swift SDK.
Etapa 4: Crie sua interface de usuário personalizada
Como a Braze não fornece uma interface de usuário padrão para mensagens no aplicativo no tvOS, você precisará personalizá-la. Para obter um passo a passo completo, consulte nosso tutorial passo a passo: Personalizando mensagens no app para tvOS. Para obter um projeto de amostra, consulte Amostras do SDK da Braze para Swift.
Pré-requisitos
Antes de usar este recurso, você precisará integrar o SDK do Unity da Braze.
Tipos de mensagens
A Braze oferece vários tipos padrão de mensagens no app, cada um personalizável com mensagens, imagens, ícones Font Awesome, ações de clique, análise de dados, esquemas de cores e mais.
O comportamento e as características básicas são definidos pela interface IInAppMessage, em uma subclasse chamada InAppMessageBase. IInAppMessage também inclui uma subinterface, IInAppMessageImmersive, que permite adicionar botões de fechar, ação de clique e análise de dados ao seu app.

Lembre-se de que mensagens no app contendo botões incluirão a mensagem clickAction na carga útil final se a ação de clique for adicionada antes do texto do botão.
As mensagens no app modal aparecem no centro da tela e são emolduradas por um painel translúcido. Úteis para mensagens mais críticas, elas podem incluir dois botões com ação de clique e análise de dados ativada.
Esse tipo de mensagem é uma subclasse de InAppMessageImmersiveBase, uma classe abstrata que implementa IInAppMessageImmersive, permitindo adicionar funcionalidades personalizadas às suas mensagens no app geradas localmente.

As mensagens no app full são úteis para maximizar o conteúdo e o impacto da sua comunicação com o usuário. A metade superior de uma mensagem no app full contém uma imagem, e a metade inferior exibe texto e até dois botões com ação de clique e análise de dados.
Esse tipo de mensagem estende InAppMessageImmersiveBase, permitindo adicionar funcionalidades personalizadas às suas mensagens no app geradas localmente.

As mensagens no app HTML são úteis para criar conteúdo totalmente personalizado para o usuário. O conteúdo HTML definido pelo usuário é exibido em uma WebView e pode, opcionalmente, conter outros conteúdos avançados, como imagens e fontes, permitindo controle total sobre a aparência e a funcionalidade da mensagem.
Esse tipo de mensagem implementa IInAppMessageHtml, que é uma subclasse de IInAppMessage.

No Android, links configurados com target="_blank" em mensagens no app HTML personalizadas abrem no navegador web padrão do dispositivo.
As mensagens no app para Android suportam uma interface JavaScript brazeBridge para chamar métodos no SDK Android da Braze a partir do seu HTML. Consulte nossa página sobre JavaScript bridge para mais detalhes.


Atualmente, não oferecemos suporte à exibição de mensagens no app HTML personalizadas em um iFrame nas plataformas iOS e Android.

Você também pode definir visualizações personalizadas de mensagens no app para o seu app. Para um guia completo, consulte Definindo fábricas personalizadas.
Cada tipo de mensagem no app é altamente personalizável em termos de conteúdo, imagens, ícones, ações de clique, análise de dados, exibição e entrega. Eles são tipos enumerados de Braze.InAppMessage, que define o comportamento básico e as características de todas as mensagens no app. Para obter a lista completa de propriedades e uso de mensagens no app, consulte a classe InAppMessage.
Estes são os tipos de mensagens no app disponíveis na Braze e como eles serão exibidos para os usuários finais.
As mensagens no app Modal aparecem no centro da tela e são emolduradas por um painel translúcido. Úteis para o envio de mensagens mais críticas, elas podem ser equipadas com até dois botões habilitados para análise de dados.

As mensagens no app Modal Image aparecem no centro da tela e são emolduradas por um painel translúcido. Essas mensagens são semelhantes ao tipo Modal, mas sem cabeçalho ou texto de mensagem. Úteis para o envio de mensagens mais críticas, elas podem ser equipadas com até dois botões habilitados para análise de dados.

As mensagens no app Full são úteis para maximizar o conteúdo e o impacto da sua comunicação com o usuário. A metade superior de uma mensagem no app Full contém uma imagem, e a metade inferior exibe texto e até dois botões habilitados para análise de dados.

As mensagens no app Full Image são semelhantes às mensagens no app Full, exceto pelo fato de não terem cabeçalho ou texto de mensagem. Esse tipo de mensagem é útil para maximizar o conteúdo e o impacto da sua comunicação com o usuário. Uma mensagem no app Full Image contém uma imagem que abrange toda a tela, com a opção de exibir até dois botões habilitados para análise de dados.

As mensagens no app HTML são úteis para criar conteúdo totalmente personalizado para o usuário. O conteúdo completo da mensagem no app em HTML definido pelo usuário é exibido em um WKWebView e pode, opcionalmente, conter outros conteúdos avançados, como imagens e fontes, permitindo controle total sobre a aparência e a funcionalidade da mensagem.
As mensagens no app do iOS suportam uma interface JavaScript brazeBridge para chamar métodos no Braze Web SDK a partir do seu HTML; consulte nossas práticas recomendadas para obter mais detalhes.
O exemplo a seguir mostra uma mensagem no app paginada em HTML Full:

Observe que atualmente não oferecemos suporte à exibição de mensagens no app em HTML personalizado em um iFrame nas plataformas iOS e Android.
As mensagens no app Control não contêm um componente de interface do usuário e são usadas principalmente para fins de análise de dados. Esse tipo é usado para verificar o recebimento de uma mensagem no app enviada a um grupo de controle.
Para mais detalhes sobre otimização automática de variantes e grupos de controle, consulte Otimizar com BrazeAITM.
Pré-requisitos
Antes de usar este recurso, você precisará integrar o SDK Braze .NET MAUI.
Tipos de mensagens
A Braze oferece vários tipos padrão de mensagens no app, cada um personalizável com mensagens, imagens, ícones Font Awesome, ações de clique, análise de dados, esquemas de cores e mais.
O comportamento e as características básicas são definidos pela interface IInAppMessage, em uma subclasse chamada InAppMessageBase. IInAppMessage também inclui uma subinterface, IInAppMessageImmersive, que permite adicionar botões de fechar, ação de clique e análise de dados ao seu app.

Lembre-se de que mensagens no app contendo botões incluirão a mensagem clickAction na carga útil final se a ação de clique for adicionada antes do texto do botão.
As mensagens no app modal aparecem no centro da tela e são emolduradas por um painel translúcido. Úteis para mensagens mais críticas, elas podem incluir dois botões com ação de clique e análise de dados ativada.
Esse tipo de mensagem é uma subclasse de InAppMessageImmersiveBase, uma classe abstrata que implementa IInAppMessageImmersive, permitindo adicionar funcionalidades personalizadas às suas mensagens no app geradas localmente.

As mensagens no app full são úteis para maximizar o conteúdo e o impacto da sua comunicação com o usuário. A metade superior de uma mensagem no app full contém uma imagem, e a metade inferior exibe texto e até dois botões com ação de clique e análise de dados.
Esse tipo de mensagem estende InAppMessageImmersiveBase, permitindo adicionar funcionalidades personalizadas às suas mensagens no app geradas localmente.

As mensagens no app HTML são úteis para criar conteúdo totalmente personalizado para o usuário. O conteúdo HTML definido pelo usuário é exibido em uma WebView e pode, opcionalmente, conter outros conteúdos avançados, como imagens e fontes, permitindo controle total sobre a aparência e a funcionalidade da mensagem.
Esse tipo de mensagem implementa IInAppMessageHtml, que é uma subclasse de IInAppMessage.

No Android, links configurados com target="_blank" em mensagens no app HTML personalizadas abrem no navegador web padrão do dispositivo.
As mensagens no app para Android suportam uma interface JavaScript brazeBridge para chamar métodos no SDK Android da Braze a partir do seu HTML. Consulte nossa página sobre JavaScript bridge para mais detalhes.


Atualmente, não oferecemos suporte à exibição de mensagens no app HTML personalizadas em um iFrame nas plataformas iOS e Android.

Você também pode definir visualizações personalizadas de mensagens no app para o seu app. Para um guia completo, consulte Definindo fábricas personalizadas.
Cada tipo de mensagem no app é altamente personalizável em termos de conteúdo, imagens, ícones, ações de clique, análise de dados, exibição e entrega. Eles são tipos enumerados de Braze.InAppMessage, que define o comportamento básico e as características de todas as mensagens no app. Para obter a lista completa de propriedades e uso de mensagens no app, consulte a classe InAppMessage.
Estes são os tipos de mensagens no app disponíveis na Braze e como eles serão exibidos para os usuários finais.
As mensagens no app Modal aparecem no centro da tela e são emolduradas por um painel translúcido. Úteis para o envio de mensagens mais críticas, elas podem ser equipadas com até dois botões habilitados para análise de dados.

As mensagens no app Modal Image aparecem no centro da tela e são emolduradas por um painel translúcido. Essas mensagens são semelhantes ao tipo Modal, mas sem cabeçalho ou texto de mensagem. Úteis para o envio de mensagens mais críticas, elas podem ser equipadas com até dois botões habilitados para análise de dados.

As mensagens no app Full são úteis para maximizar o conteúdo e o impacto da sua comunicação com o usuário. A metade superior de uma mensagem no app Full contém uma imagem, e a metade inferior exibe texto e até dois botões habilitados para análise de dados.

As mensagens no app Full Image são semelhantes às mensagens no app Full, exceto pelo fato de não terem cabeçalho ou texto de mensagem. Esse tipo de mensagem é útil para maximizar o conteúdo e o impacto da sua comunicação com o usuário. Uma mensagem no app Full Image contém uma imagem que abrange toda a tela, com a opção de exibir até dois botões habilitados para análise de dados.

As mensagens no app HTML são úteis para criar conteúdo totalmente personalizado para o usuário. O conteúdo completo da mensagem no app em HTML definido pelo usuário é exibido em um WKWebView e pode, opcionalmente, conter outros conteúdos avançados, como imagens e fontes, permitindo controle total sobre a aparência e a funcionalidade da mensagem.
As mensagens no app do iOS suportam uma interface JavaScript brazeBridge para chamar métodos no Braze Web SDK a partir do seu HTML; consulte nossas práticas recomendadas para obter mais detalhes.
O exemplo a seguir mostra uma mensagem no app paginada em HTML Full:

Observe que atualmente não oferecemos suporte à exibição de mensagens no app em HTML personalizado em um iFrame nas plataformas iOS e Android.
As mensagens no app Control não contêm um componente de interface do usuário e são usadas principalmente para fins de análise de dados. Esse tipo é usado para verificar o recebimento de uma mensagem no app enviada a um grupo de controle.
Para mais detalhes sobre otimização automática de variantes e grupos de controle, consulte Otimizar com BrazeAITM.
Próximas etapas
Pronto para se aprofundar? Confira estes tutoriais passo a passo:

