複数の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 インスタンス名と一致していることを確認してください。
Web SDK インスタンスとして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
experience-platform-help-collection