在某些情况下,您可能希望与同一页面上的两个不同属性进行交互。 这些案例包括:
SDK允许您通过在基本代码中向数组添加另一个名称,为每个属性创建一个单独的实例。 下面的示例提供两个名称,mycustomname1
和mycustomname2
。
<script>
!function(n,o){o.forEach(function(o){n[o]||((n.__alloyNS=n.__alloyNS||
[]).push(o),n[o]=function(){var u=arguments;return new Promise(
function(i,l){n[o].q.push([i,l,u])})},n[o].q=[])})}
(window,["mycustomname1", "mycustomname2"]);
</script>
<script src="alloy.js" async></script>
因此,该脚本创建了两个SDK实例。 与第一实例交互的全局函数名为mycustomname1
,与第二实例交互的全局函数名为mycustomname2
。
通过创建两个单独的实例,可以为每个实例配置不同的属性。 由于与mycustomname1
交互而发生的任何通信或数据持久性都与mycustomname2
隔离。
在上面的示例中,您可以使用每个实例执行命令,如下所示:
mycustomname1("configure", {
"edgeConfigId": "ebebf826-a01f-4458-8cec-ef61de241c93",
"orgId": "ADB3LETTERSANDNUMBERS@AdobeOrg"
});
mycustomname1("sendEvent", {
"data": {
"key": "value"
}
});
mycustomname2("configure", {
"edgeConfigId": "f46e981f-fd03-4bdd-a9d9-73ce4447f870",
"orgId": "ADB3NUMBERSANDLETTERS2@AdobeOrg"
});
mycustomname2("sendEvent", {
"data": {
"key": "value"
}
});
请务必为每个实例执行configure
命令,然后对同一实例执行其他命令。
为避免与Cookies冲突,页面中只有Adobe Experience Platform Web SDK的一个实例可以具有特定的edgeConfigId
。 同样,只有Adobe Experience Platform Web SDK的一个实例可以具有特定的orgId
。