自动呈现DOM操作建议

当您的个性化响应包含带有架构的建议项目时,请使用此模式:

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

这些项目通常包括选择器和操作类型(例如,setHtml),启用renderDecisions后,Web SDK可自动应用这些类型。

1.管理闪烁(可选)

如果您在应用个性化内容时需要防止闪烁,请为您的实施使用推荐的闪烁管理方法。 有关可用选项,请参阅管理闪烁

2.请求并作出指示自动作出的决定

调用renderDecisions命令时将true设置为sendEvent。 如果忽略,renderDecisions属性将默认为false。

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

(可选)如果您需要请求特定投放位置,请包含personalization.decisionScopes

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

有关详细信息,请参阅personalization命令中的sendEvent对象。

3.显示事件

如果您将renderDecisions设置为true并将personalization.sendDisplayEvent设置为true或忽略它,则Web SDK会在呈现个性化后立即发送显示事件。

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

请参阅管理显示事件,了解符合实施需求的备用选项,例如使用顶页和底页事件时。

​4. SPA视图更改和重新呈现

对于单页应用程序,在视图更改事件中包含viewName

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

如果您的SPA重新呈现同一视图的UI而没有新的决策获取,则您可以重新应用之前返回的建议:

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

有关详细信息,请参阅applyPropositions

NOTE
applyPropositions命令不会自动发送显示事件。 如果需要为重新渲染方案记录“显示”,请参阅管理显示事件
recommendation-more-help
1ae86b30-e55e-49c1-ab11-9d0356a5f3e1