Ir para o conteúdo

Inserir Banners automaticamente com o direcionamento web

Para posicionamentos web, você pode configurar o direcionamento web nas configurações do posicionamento para especificar onde o Banner deve aparecer na página. Esse recurso é opcional. Quando o direcionamento web está configurado, o SDK Web da Braze insere os Banners automaticamente no local especificado, sem precisar de uma chamada explícita a insertBanner(). Para saber mais, consulte Direcionamento web para Banners. Para informações gerais sobre Banners e posicionamentos de Banners, consulte Sobre Banners e Gerenciar posicionamentos.

Pré-requisitos

Como a inserção por direcionamento web adiciona HTML à sua página, ela exige a mesma aceitação que insertBanner:

braze.initialize("YOUR-API-KEY", {
  baseUrl: "YOUR-ENDPOINT",
  allowUserSuppliedJavascript: true, // required for Web Targeting auto-insert
});

Sem allowUserSuppliedJavascript: true, a inserção automática não faz nada e o SDK registra um erro.

Disparar a inserção por direcionamento web

Quando chamado, o método insertWebTargetingBanners() usa as informações de direcionamento web de cada Banner, se houver, para encontrar o local pretendido para aquele Banner na página e inseri-lo ali automaticamente. Chame esse método logo após a inicialização do SDK e após cada sincronização de Banners concluída pelo SDK Web.

Se o SDK Web não encontrar o local de inserção definido para um Banner com informações de direcionamento web, ele continua tentando inseri-lo. Isso permite que o direcionamento web atinja partes da sua página que só aparecem depois do carregamento inicial. Você pode desativar esse comportamento de nova tentativa ao inicializar o SDK, usando o parâmetro enableWebTargetingBannerRetryLoop do método initialize().

braze.initialize("YOUR-API-KEY", {
  baseUrl: "YOUR-ENDPOINT",
  allowUserSuppliedJavascript: true,
  enableWebTargetingBannerRetryLoop: false, // don't retry if the target isn't in the DOM yet
});

Ativar a inserção por direcionamento web ao atualizar Banners

Se quiser, você pode chamar automaticallyInsertWebTargetingBanners() após a inicialização do SDK. Esse método cria uma inscrição que realiza imediatamente a inserção por direcionamento web para os Banners presentes sempre que o SDK Web conclui uma sincronização de Banners. Assim, não é preciso chamar insertWebTargetingBanners(). Mas você pode continuar usando só esse método se quiser um controle mais preciso sobre quando a inserção acontece. Esse método não insere nenhum Banner no momento em que é chamado.

Aplicativos de página única (SPA)

Observe os detalhes a seguir se o seu website usa arquitetura de aplicativo de página única (SPA) ou sistemas semelhantes (como React Router ou Vue) para lidar com rotas e navegação, ou se o seu website remove manualmente os Banners inseridos:

  • Se um Banner for inserido no DOM com direcionamento web, mas depois for removido por uma nova renderização ao mudar de rota, o SDK Web não tenta reinseri-lo automaticamente na nova página. Da mesma forma, se o Banner continuar após a nova renderização, mas estiver restrito por URL à rota anterior, o SDK Web não o remove automaticamente do DOM.
  • Chame insertWebTargetingBanners() após cada renderização de rota no lado do cliente para acionar toda a lógica de controle orquestrada pelo SDK. Ele só reinsere Banners cujo estado mudou, então é seguro chamá-lo a cada navegação.

Solução de problemas

Motivos comuns para um Banner não ser inserido automaticamente, registrados pelo logger do SDK (enableLogging: true):

Sintoma Causa provável
Nada é inserido em lugar nenhum, e o SDK registra “allowUserSuppliedJavascript is required” initialize() foi chamado sem allowUserSuppliedJavascript: true.
O SDK registra “target element not found for selector” O seletor CSS ainda não corresponde a nenhum elemento. Se o elemento for renderizado depois, isso se resolve sozinho pelo loop de novas tentativas. Caso contrário, confira o seletor configurado para o posicionamento.
O SDK registra “cannot insert inside” para um elemento As informações de direcionamento web do Banner o inseririam em um elemento não suportado, como video ou img. Consulte Direcionamento web para Banners.
Um Banner é inserido uma vez, mas não é atualizado ao mudar de rota Consulte Considerações sobre SPA: chame insertWebTargetingBanners() após cada renderização de rota no lado do cliente.
Um Banner desaparece após uma nova renderização do framework Consulte Considerações sobre SPA.

Próximas etapas

New Stuff!