自动呈现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