複数の Web SDK インスタンスの使用
同じページで 2 つの異なるプロパティを操作する場合があります。考えられるシナリオは次のとおりです。
- 買収され、共同で Web サイトの統合に取り組んでいる企業
- 複数の企業間でのデータ共有関係
- 新しいAdobe ソリューションをテストする際に、既存の実装を中断したくない顧客
SDKでは、 ベースコード の配列に別の名前を追加することで、プロパティごとに個別のインスタンスを作成できます。 次の例では、titanium と copper という 2 つの名前を指定しています。
<!-- 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> -->
その結果、スクリプトは、ライブラリの初期化時に 2 つのSDK インスタンスになる 2 つのグローバル関数(上記の例では titanium と copper)を作成します。 各インスタンスは、独自の設定と状態を保持します。titanium を使用するコマンドは、copper から分離された状態が維持されます。
TIP
タグでベースコードを使用する場合は、タグ拡張機能を設定する際に、設定したすべてのインスタンス名がすべての SDK インスタンス名 と一致することを確認します。
titanium および copper の命名パターンの例に従って、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