この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

例: Aura サイトの Adobe Analytics および Lightning Locker

Adobe Analytics は、Aura サイトのコンポーネントとやりとりするため、Lightning Locker で予期しない結果が生じる可能性があります。推奨される回避策は、head マークアップで JavaScript カスタムイベントを使用して Adobe Analytics を分離することです。これにより、Adobe Analytics は、そのリソースを直接読み込んだり参照したりせずにコンポーネントとやりとりできます。

LWR サイトでは、別の方法を用いることで、アナリティクスを組み込むことができます。詳細は、『LWR Sites for Experience Cloud (Experience Cloud 向け LWR サイト)』「Integrate Third-Party Libraries Using the Privileged Script Tag (特権 Script タグを使用したサードパーティライブラリの統合)」を参照してください。

ヒント

Aura サイトへの Adobe Analytics の追加

script タグを使用して、Adobe Analytics スクリプトおよび該当するイベントリスナーをサイトの head マークアップに追加します。
1<script> 
2    document.addEventListener('analyticsEvent', function(e) {
3        //add logic here to tell your dataLayer about the event
4        //dataLayer.action = e.detail.action;
5        //dataLayer.label = e.detail.label;
6        //or map payload to an AA library event
7    });
8    
9    document.addEventListener('analyticsViewChange', function() {
10    });
11</script>
12<script src="full-url-to-your-adobe-script" async></script>

カスタムイベントの使用

Adobe Analytics とやりとりするコンポーネントで、detail プロパティを使用してカスタムイベントを実装します。このプロパティにより、データがイベントを介してリスナーに渡されて、head マークアップリスナーの dataLayer に対応付けられます。これにより、EventTarget を拡張する任意のリソースにカスタムイベントをディスパッチできます。
1document.dispatchEvent(new CustomEvent('analyticsEvent', {'detail': {action: 'click', label: 'Submitted Case'}}));

JavaScript CustomEvent コンストラクタで渡すデータに注意して、使用方法が安全であることを確認します。ページで実行される JavaScript (Adobe Analytics など) でイベント名がリスンされて、このデータが読み取られる可能性があります。

警告

Aura コンポーネントの追加イベントの実装

Adobe Analytics が Aura コンポーネントとやりとりする場合、forceCommunity:routeChange および aura:locationChange イベントも実装する必要があります。

forceCommunity:routeChange は、Lightning コンポーネントフレームワーク内のビューの変更を追跡します。
1<aura:component implements="forceCommunity:availableForAllPageTypes">
2    <aura:handler event="forceCommunity:routeChange" action="{!c.handleRouteChange}" />
3</aura:component>
1handleRouteChange : function(component, event, helper) {
2    document.dispatchEvent(new Event('analyticsViewChange'));
3}

aura:locationChange は、ブラウザのロケーションバーの URL のハッシュ部分が変更されたことを示します。ただし、場所 URL のハッシュ部分は、タブコンポーネントのタブの変更を実装するためなどに使用されますが、ほとんど使用されることはありません。