使用多個Web SDK執行個體

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

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

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

<!-- Base code -->
<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.setTimeout(function(){n[o].q.push([i,l,u])})})},n[o].q=[])})}
  (window,["titanium", "copper"]);
</script>

<!-- Load the Web SDK (JavaScript library loader or Tags embed code) -->
<!-- <script src=".../alloy.min.js" async></script> -->
<!-- <script src=".../launch-<ENV>.min.js" async></script> -->

因此,指令碼會建立兩個全域函式(上述範例中的titaniumcopper),當程式庫初始化時,這兩個函式會變成兩個SDK執行個體。 每個執行個體都會維護自己的設定和狀態;任何使用titanium的命令都會與copper隔離。

TIP
如果搭配標籤使用基底程式碼,在設定標籤延伸時,請確定您設定的所有執行個體名稱都和所有SDK執行個體名稱相符。

依照titaniumcopper作為Web SDK執行個體的命名模式範例,您可以獨立執行命令:

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
1ae86b30-e55e-49c1-ab11-9d0356a5f3e1