Skip to content

Integração de mensagens no app

Este artigo de referência aborda como integrar o envio de mensagens no app em seu aplicativo para Android ou FireOS.

As mensagens no app ajudam a levar conteúdo aos seus usuários sem interromper o dia deles com uma notificação por push. Mensagens no app personalizadas e sob medida aprimoram a experiência do usuário e ajudam o público a obter o máximo valor do seu app. Com vários layouts e ferramentas de personalização para escolher, as mensagens no app engajam seus usuários mais do que nunca.

Para ver exemplos de mensagens no app, confira nossos estudos de caso.

Tipos de mensagens no app

O Braze oferece vários tipos de mensagens no app padrão, cada uma personalizável com mensagens, imagens, ícones Font Awesome, ações de clique, análises de dados, estilo editável e esquemas de cores. Os tipos disponíveis atualmente são:

Também é possível definir sua própria exibição personalizada de mensagens no app.

Todas as mensagens no app implementam a interface IInAppMessage que define o comportamento e as características básicas de todas as mensagens no app. InAppMessageBase é uma classe abstrata que implementa IInAppMessage e fornece a implementação básica de mensagens no app. Todas as classes de mensagens no app são subclasses de InAppMessageBase.

Além disso, há uma subinterface de IInAppMessage chamada IInAppMessageImmersive que adiciona botões de ação de clique e de análise de dados ativados, bem como texto de cabeçalho e um botão de fechar.

InAppMessageImmersiveBase é uma classe abstrata que implementa IInAppMessageImmersive e fornece a implementação fundamental da mensagem no app immersive. As mensagens no app Modal são uma subclasse de InAppMessageImmersiveBase.

As mensagens no app em HTML são instâncias InAppMessageHtml, que implementam IInAppMessageHtml, outra subclasse de IInAppMessage.

Comportamentos esperados por tipo de mensagem

É assim que seus usuários abrem um dos nossos tipos de mensagem no app padrão.

Slideup As mensagens no app são assim chamadas porque “deslizam para cima” ou “deslizam para baixo” a partir da parte superior ou inferior da tela. Eles cobrem uma pequena parte da tela e fornecem um recurso de envio de mensagens eficaz e não intrusivo.

Uma mensagem no app que desliza da parte inferior da tela do telefone exibindo "Os seres humanos são complicados. O engajamento personalizado não deveria ser." Em segundo plano, a mesma mensagem no app exibida no canto inferior direito de uma página da Internet.

Full As mensagens no app 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 de ação de clique e de análise de dados.

Uma mensagem no app, em tela inteira, exibida em toda a tela do telefone, que diz: "Os seres humanos são complicados. O engajamento personalizado não deveria ser." No plano de fundo está a mesma mensagem no app exibida em grande parte no centro de uma página da Internet.

HTML As mensagens no app são úteis para criar conteúdo totalmente personalizado para o usuário. O conteúdo HTML definido pelo usuário da mensagem no app é exibido em 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.

As mensagens no app Android 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.

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

Definição de tipos de mensagens no app personalizadas

O objeto de mensagem no app slideup estende InAppMessageBase. As mensagens do tipo full e modal se estendem InAppMessageImmersiveBase. A extensão de uma dessas classes lhe dá a opção de adicionar funcionalidade personalizada às mensagens no app geradas localmente.

Integração

Etapa 1: Registro do gerenciador de mensagens no app do Braze

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:

Integração de retorno de chamada do ciclo de vida da atividade (recomendado)

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. Essa é a integração recomendada para lidar com o registro de mensagens no app.

Registro manual de mensagens no app

Primeiro, em Application.onCreate(), chame ensureSubscribedToInAppMessageEvents():

1
BrazeInAppMessageManager.getInstance().ensureSubscribedToInAppMessageEvents(context);
1
BrazeInAppMessageManager.getInstance().ensureSubscribedToInAppMessageEvents(context)

Em seguida, em todas as atividades em que as mensagens no app podem ser exibidas, registerInAppMessageManager() deve ser chamado no onResume() dessa atividade:

1
2
3
4
5
6
7
@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);
}
1
2
3
4
5
6
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)
}

Por fim, em todas as atividades em que registerInAppMessageManager() foi chamado, unregisterInAppMessageManager() deve ser chamado no onPause() da atividade:

1
2
3
4
5
6
@Override
public void onPause() {
  super.onPause();
  // Unregisters the BrazeInAppMessageManager for the current Activity.
  BrazeInAppMessageManager.getInstance().unregisterInAppMessageManager(activity);
}
1
2
3
4
5
public override fun onPause() {
  super.onPause()
  // Unregisters the BrazeInAppMessageManager.
  BrazeInAppMessageManager.getInstance().unregisterInAppMessageManager(this)
}

Etapa 2: Lista de bloqueio do gerenciador de mensagens no app (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.

1
2
3
4
5
6
7
8
9
10
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));
  }
}
1
2
3
4
5
6
7
8
9
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))
  }
}
QUÃO ÚTIL FOI ESTA PÁGINA?
New Stuff!