使用多個Web SDK執行個體

在某些情況下,您可能會想要與相同頁面上的兩個不同屬性互動。 這些案例包括:

  • 已收購且正致力於整合其網站的公司
  • 多家公司之間的資料共用關係
  • 正在測試新Adobe解決方案且不想中斷現有實施的客戶

SDK可讓您將另一個名稱新增至基底程式碼中的陣列,為每個屬性建立個別例項。 下列範例提供兩個名稱: titaniumcopper

<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,["titanium", "copper"]);
</script>
<script src="alloy.js" async></script>

因此,指令碼會建立SDK的兩個例項。 與第一個執行個體互動的全域函式名為titanium,與第二個執行個體互動的全域函式名為copper

藉由建立兩個個別的執行個體,每個執行個體都可以針對不同的屬性進行設定。 任何因與titanium互動而發生的通訊或資料持續性都會與copper隔離。

在上述範例之後,您可以使用每個例證執行命令:

titanium("configure", {
  datastreamId: "ebebf826-a01f-4458-8cec-ef61de241c93",
  orgId: "ADB3LETTERSANDNUMBERS@AdobeOrg"
});

titanium("sendEvent", {
  data: {
    key: "value"
  }
});

copper("configure", {
  datastreamId: "f46e981f-fd03-4bdd-a9d9-73ce4447f870",
  orgId: "ADB3NUMBERSANDLETTERS2@AdobeOrg"
});

copper("sendEvent", {
  data: {
    key: "value"
  }
});

請務必先對每個執行個體執行configure命令,然後再在同一執行個體上執行其他命令。

IMPORTANT
為避免與Cookie衝突,每個Web SDK執行個體必須具有自己的唯一datastreamId和自己的唯一orgId
recommendation-more-help
ad108910-6329-42f1-aa1d-5920a2b13636