Renderizar propostas de ação do DOM automaticamente

Use esse padrão quando a resposta de personalização incluir itens de proposta com o schema:

https://ns.adobe.com/personalization/dom-action

Normalmente, esses itens incluem um seletor e um tipo de ação (por exemplo, setHtml) que o Web SDK pode aplicar automaticamente quando renderDecisions está habilitado.

​1. Gerenciar cintilação (opcional)

Se você precisar evitar a cintilação enquanto o conteúdo personalizado for aplicado, use a abordagem de gerenciamento de cintilação recomendada para sua implementação. Consulte Gerenciar cintilação para ver as opções disponíveis.

​2. Pedido e decisão de processamento anotadas para processamento automático

Defina renderDecisions como true ao chamar o comando sendEvent. O padrão da propriedade renderDecisions é false quando omitida.

alloy("sendEvent", {
  renderDecisions: true,
  xdm: {
    web: {
      webPageDetails: {
        name: "home"
      }
    }
  }
});

Opcionalmente, se precisar solicitar disposições específicas, inclua personalization.decisionScopes:

alloy("sendEvent", {
  renderDecisions: true,
  personalization: {
    decisionScopes: ["hero-banner", "recommendations"]
  },
  xdm: { }
});

Consulte o objeto personalization no comando sendEvent para obter mais informações.

​3. Exibir eventos

Se você definir renderDecisions como true e definir personalization.sendDisplayEvent como true ou omiti-lo, o Web SDK enviará eventos de exibição imediatamente após a personalização ser renderizada.

alloy("sendEvent", {
  renderDecisions: true,
  personalization: {
    // sendDisplayEvent defaults to true when omitted
  },
  xdm: { }
});

Consulte Gerenciar eventos de exibição para obter opções alternativas que atendam às suas necessidades de implementação, como ao usar os Eventos de página superior e inferior.

​4. Alterações de exibição e renderização de SPA

Para aplicativos de página única, inclua um viewName sobre eventos que alteram a visualização.

alloy("sendEvent", {
  renderDecisions: true,
  xdm: {
    web: {
      webPageDetails: {
        viewName: "cart"
      }
    }
  }
});

Se o SPA renderizar novamente a interface do usuário para a mesma exibição sem uma nova busca de decisão, você poderá reaplicar as propostas retornadas anteriormente:

let lastPropositions = [];

alloy("sendEvent", {
  renderDecisions: true,
  xdm: {
    web: { webPageDetails: { viewName: "cart" } }
  }
}).then(({ propositions = [] }) => {
  lastPropositions = propositions;
});

// Later, after a UI re-render:
alloy("applyPropositions", {
  propositions: lastPropositions
});

Consulte applyPropositions para obter mais informações.

NOTE
O comando applyPropositions não envia eventos de exibição automaticamente. Se você precisar gravar "exibição" para cenários de nova renderização, consulte Gerenciar eventos de exibição.
recommendation-more-help
1ae86b30-e55e-49c1-ab11-9d0356a5f3e1