Ir para o conteúdo

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 SlideUp recebem esse nome porque, tradicionalmente em plataformas mobile, elas “deslizam para cima” ou “deslizam para baixo” a partir do topo ou da parte inferior da tela. No SDK da Braze para web, essas mensagens são exibidas em um estilo mais parecido com notificações Growl ou Toast, alinhando-se ao paradigma dominante da web. Elas cobrem uma pequena parte da tela e oferecem uma capacidade de envio de mensagens eficaz e não intrusiva.

Uma mensagem no app deslizando a partir da parte inferior da tela de um celular exibindo "Humans are complicated. Custom engagement shouldn't be." Ao fundo, a mesma mensagem no app é exibida no canto inferior de uma página web.

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.

Uma mensagem no app em tela inteira exibida em toda a tela de um celular mostrando "Humans are complicated. Custom engagement shouldn't be." Ao fundo, a mesma mensagem no app é exibida de forma ampla no centro de uma página web.

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.

O exemplo a seguir mostra uma mensagem no app HTML paginada:

Uma mensagem no app HTML com um carrossel de conteúdo e botões interativos.

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.

As mensagens no app slideup recebem esse nome porque “deslizam para cima” ou “deslizam para baixo” a partir da parte superior ou inferior da tela. Elas cobrem uma pequena parte da tela e oferecem um recurso de envio de mensagens eficaz e não intrusivo.

O objeto de mensagem no app slideup estende InAppMessageBase.

Uma mensagem no app deslizando a partir da parte inferior da tela de um celular exibindo "Humans are complicated. Custom engagement shouldn't be." Ao fundo, a mesma mensagem no app é exibida no canto inferior direito de uma página web.

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.

Uma mensagem no app em tela inteira exibida em toda a tela de um celular mostrando "Humans are complicated. Custom engagement shouldn't be." Ao fundo, a mesma mensagem no app é exibida em destaque no centro de uma página web.

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.

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.

Uma mensagem no app HTML com um carrossel de conteúdo e botões interativos.

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.

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 Slideup recebem esse nome porque “deslizam para cima” ou “deslizam para baixo” a partir da parte superior ou inferior da tela. Elas cobrem uma pequena parte da tela e fornecem um recurso de envio de mensagens eficaz e não intrusivo.

Uma mensagem no app em slideup na parte inferior e superior da tela do telefone.

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.

Uma mensagem no app com imagem modal no centro da tela do telefone.

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.

Uma mensagem no app em tela inteira exibida em toda a tela do telefone.

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.

Uma mensagem no app com imagem em tela inteira exibida em toda a tela do telefone.

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:

Uma mensagem no app em HTML com um carrossel de conteúdo e botões interativos.

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.

As mensagens no app slideup recebem esse nome porque “deslizam para cima” ou “deslizam para baixo” a partir da parte superior ou inferior da tela. Elas cobrem uma pequena parte da tela e oferecem um recurso de envio de mensagens eficaz e não intrusivo.

O objeto de mensagem no app slideup estende InAppMessageBase.

Uma mensagem no app deslizando a partir da parte inferior da tela de um celular exibindo "Humans are complicated. Custom engagement shouldn't be." Ao fundo, a mesma mensagem no app é exibida no canto inferior direito de uma página web.

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.

Uma mensagem no app em tela inteira exibida em toda a tela de um celular mostrando "Humans are complicated. Custom engagement shouldn't be." Ao fundo, a mesma mensagem no app é exibida em destaque no centro de uma página web.

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.

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.

Uma mensagem no app HTML com um carrossel de conteúdo e botões interativos.

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 Slideup recebem esse nome porque “deslizam para cima” ou “deslizam para baixo” a partir da parte superior ou inferior da tela. Elas cobrem uma pequena parte da tela e fornecem um recurso de envio de mensagens eficaz e não intrusivo.

Uma mensagem no app em slideup na parte inferior e superior da tela do telefone.

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.

Uma mensagem no app com imagem modal no centro da tela do telefone.

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.

Uma mensagem no app em tela inteira exibida em toda a tela do telefone.

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.

Uma mensagem no app com imagem em tela inteira exibida em toda a tela do telefone.

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:

Uma mensagem no app em HTML com um carrossel de conteúdo e botões interativos.

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.

As mensagens no app slideup recebem esse nome porque “deslizam para cima” ou “deslizam para baixo” a partir da parte superior ou inferior da tela. Elas cobrem uma pequena parte da tela e oferecem um recurso de envio de mensagens eficaz e não intrusivo.

O objeto de mensagem no app slideup estende InAppMessageBase.

Uma mensagem no app deslizando a partir da parte inferior da tela de um celular exibindo "Humans are complicated. Custom engagement shouldn't be." Ao fundo, a mesma mensagem no app é exibida no canto inferior direito de uma página web.

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.

Uma mensagem no app em tela inteira exibida em toda a tela de um celular mostrando "Humans are complicated. Custom engagement shouldn't be." Ao fundo, a mesma mensagem no app é exibida em destaque no centro de uma página web.

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.

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.

Uma mensagem no app HTML com um carrossel de conteúdo e botões interativos.

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 Slideup recebem esse nome porque “deslizam para cima” ou “deslizam para baixo” a partir da parte superior ou inferior da tela. Elas cobrem uma pequena parte da tela e fornecem um recurso de envio de mensagens eficaz e não intrusivo.

Uma mensagem no app em slideup na parte inferior e superior da tela do telefone.

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.

Uma mensagem no app com imagem modal no centro da tela do telefone.

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.

Uma mensagem no app em tela inteira exibida em toda a tela do telefone.

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.

Uma mensagem no app com imagem em tela inteira exibida em toda a tela do telefone.

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:

Uma mensagem no app em HTML com um carrossel de conteúdo e botões interativos.

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)
  }
}

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.

As mensagens no app slideup recebem esse nome porque “deslizam para cima” ou “deslizam para baixo” a partir da parte superior ou inferior da tela. Elas cobrem uma pequena parte da tela e oferecem um recurso de envio de mensagens eficaz e não intrusivo.

O objeto de mensagem no app slideup estende InAppMessageBase.

Uma mensagem no app deslizando a partir da parte inferior da tela de um celular exibindo "Humans are complicated. Custom engagement shouldn't be." Ao fundo, a mesma mensagem no app é exibida no canto inferior direito de uma página web.

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.

Uma mensagem no app em tela inteira exibida em toda a tela de um celular mostrando "Humans are complicated. Custom engagement shouldn't be." Ao fundo, a mesma mensagem no app é exibida em destaque no centro de uma página web.

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.

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.

Uma mensagem no app HTML com um carrossel de conteúdo e botões interativos.

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 Slideup recebem esse nome porque “deslizam para cima” ou “deslizam para baixo” a partir da parte superior ou inferior da tela. Elas cobrem uma pequena parte da tela e fornecem um recurso de envio de mensagens eficaz e não intrusivo.

Uma mensagem no app em slideup na parte inferior e superior da tela do telefone.

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.

Uma mensagem no app com imagem modal no centro da tela do telefone.

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.

Uma mensagem no app em tela inteira exibida em toda a tela do telefone.

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.

Uma mensagem no app com imagem em tela inteira exibida em toda a tela do telefone.

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:

Uma mensagem no app em HTML com um carrossel de conteúdo e botões interativos.

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

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.brs
  • BrazeDefaultInAppMessage.xml
  • BrazeDefaultInAppMessageStyles.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

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:

  1. Aguarda display_delay segundos, se definido.
  2. Adiciona uma sobreposição BrazeDefaultInAppMessage em tela inteira à sua Scene e dá foco a ela.
  3. Registra a impressão.
  4. Limpa BrazeTask.BrazeInAppMessage.
  5. 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 MODAL ou que não têm um valor de message) 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.

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_action igual a "NONE" também chamam essa função. Verifique o click_action antes 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.
  1. 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 como click_action = "URI", com o URI em uri.
  2. 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

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 é true e os arquivos da interface padrão estão no seu app.
  • Somente mensagens MODAL chegam 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.BrazeInAppMessage e aplica o display_delay por 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

  1. Substitua seus arquivos de SDK existentes pelos arquivos do diretório sdk_files da versão 2.3.0.
  2. Deixe automatic_iam_display sem 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

  1. Substitua seus arquivos de SDK existentes pelos arquivos do diretório sdk_files da versão 2.3.0 e adicione os arquivos BrazeDefaultInAppMessage.brs, BrazeDefaultInAppMessage.xml e BrazeDefaultInAppMessageStyles.brs a components. Seu antigo componente de exemplo BrazeInAppMessage não é alterado. Você pode excluí-lo depois de fazer a mudança.
  2. Ative a interface padrão.
  3. Verifique se getBrazeInstance() é chamado a partir da sua Scene.
  4. 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, LogInAppMessageClick e LogInAppMessageButtonClick
    • m.BrazeTask.BrazeInAppMessage = invalid
  5. Mova o tratamento de cliques e deep links para brazeHandleInAppMessageClick.

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 MODAL chegam à 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".

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".

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.

ALT_TEXT.

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.

ALT_TEXT

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.

As mensagens no app slideup recebem esse nome porque “deslizam para cima” ou “deslizam para baixo” a partir da parte superior ou inferior da tela. Elas cobrem uma pequena parte da tela e oferecem um recurso de envio de mensagens eficaz e não intrusivo.

O objeto de mensagem no app slideup estende InAppMessageBase.

Uma mensagem no app deslizando a partir da parte inferior da tela de um celular exibindo "Humans are complicated. Custom engagement shouldn't be." Ao fundo, a mesma mensagem no app é exibida no canto inferior direito de uma página web.

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.

Uma mensagem no app em tela inteira exibida em toda a tela de um celular mostrando "Humans are complicated. Custom engagement shouldn't be." Ao fundo, a mesma mensagem no app é exibida em destaque no centro de uma página web.

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.

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.

Uma mensagem no app HTML com um carrossel de conteúdo e botões interativos.

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 Slideup recebem esse nome porque “deslizam para cima” ou “deslizam para baixo” a partir da parte superior ou inferior da tela. Elas cobrem uma pequena parte da tela e fornecem um recurso de envio de mensagens eficaz e não intrusivo.

Uma mensagem no app em slideup na parte inferior e superior da tela do telefone.

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.

Uma mensagem no app com imagem modal no centro da tela do telefone.

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.

Uma mensagem no app em tela inteira exibida em toda a tela do telefone.

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.

Uma mensagem no app com imagem em tela inteira exibida em toda a tela do telefone.

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:

Uma mensagem no app em HTML com um carrossel de conteúdo e botões interativos.

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.

As mensagens no app slideup recebem esse nome porque “deslizam para cima” ou “deslizam para baixo” a partir da parte superior ou inferior da tela. Elas cobrem uma pequena parte da tela e oferecem um recurso de envio de mensagens eficaz e não intrusivo.

O objeto de mensagem no app slideup estende InAppMessageBase.

Uma mensagem no app deslizando a partir da parte inferior da tela de um celular exibindo "Humans are complicated. Custom engagement shouldn't be." Ao fundo, a mesma mensagem no app é exibida no canto inferior direito de uma página web.

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.

Uma mensagem no app em tela inteira exibida em toda a tela de um celular mostrando "Humans are complicated. Custom engagement shouldn't be." Ao fundo, a mesma mensagem no app é exibida em destaque no centro de uma página web.

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.

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.

Uma mensagem no app HTML com um carrossel de conteúdo e botões interativos.

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 Slideup recebem esse nome porque “deslizam para cima” ou “deslizam para baixo” a partir da parte superior ou inferior da tela. Elas cobrem uma pequena parte da tela e fornecem um recurso de envio de mensagens eficaz e não intrusivo.

Uma mensagem no app em slideup na parte inferior e superior da tela do telefone.

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.

Uma mensagem no app com imagem modal no centro da tela do telefone.

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.

Uma mensagem no app em tela inteira exibida em toda a tela do telefone.

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.

Uma mensagem no app com imagem em tela inteira exibida em toda a tela do telefone.

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:

Uma mensagem no app em HTML com um carrossel de conteúdo e botões interativos.

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:

New Stuff!