adobe.target.triggerView (viewName, options) - at.js 2.x

この関数は、新しいページが読み込まれるときや、ページ上のコンポーネントが再レンダリングされるときに呼び出すことができます。 adobe.target.triggerView()は、Visual Experience Composer (VEC)を使用してA/B テスト ​および​ エクスペリエンスのターゲット設定 (XT)アクティビティを作成するシングルページアプリケーション (SPA)用に実装する必要があります。 adobe.target.triggerView()がサイトに実装されていない場合、VECをSPAに使用することはできません。 詳細については、「シングルページアプリケーションの実装」を参照してください。

NOTE
この関数は、at.js 2.x​で導入されました。 この関数は、at.js バージョン 1.x​では使用できません。
パラメーター
タイプ
必須?
説明
viewName
文字列
ビューを表す文字列型として任意の名前を渡します。 このビュー名は、VECの変更 パネルに表示され、マーケターがアクションを作成し、A/B テスト ​および​ エクスペリエンスのターゲット設定 XT アクティビティを実行できるようにします。
options
オブジェクト
×
options > page
ブール値
×

TRUE: ページのデフォルト値は true です。 page = true の場合、インプレッション数を増分するために Target のバックエンドに通知が送信されます。

オプション/ページがfalseに設定されている場合を除き、triggerViewが呼び出されると、通知が常にデフォルトで送信されます。

FALSE: page=falseの場合、インプレッション数を増やすための通知は送信されません。 このアプローチは、オファーを含むページ上のコンポーネントのみを再レンダリングする場合に使用します。

注意: triggerView(){page: false}をオプションとして呼び出された場合、VEC内のカスタムコードオファーは再レンダリングされません。

例:True

アクティビティのインプレッションやその他の指標を増分するための通知をTarget バックエンドに送信するtriggerView()呼び出し。

adobe.target.triggerView("homeView")

例:False

インプレッション数をカウントするためにTarget バックエンドに通知を送信しないtriggerView()呼び出し。

adobe.target.triggerView("homeView", {page: false})

例:getoffers()およびapplyOffers()とのプロミス チェーン

getOffers() Promiseが解決されたときにtriggerView()を実行するには、次の例に示すように、最終ブロックでtriggerView()を実行することが重要です。 これは、VECがオーサリングモードでViewsを検出するために必要です。

adobe.target.getOffers({
    'request': {
        'prefetch': {
            'views': [{
                'parameters': {}
            }]
        }
    }
}).then(function(response) {
    // Apply Offers
    adobe.target.applyOffers({
        response: response
    });
}).catch(function(error) {
    console.log("AT: getOffers failed - Error", error);
}).finally(() => {
    // Trigger View call, assuming pageView is defined elsewhere
    adobe.target.triggerView(pageView, {
        page: true
    });
    console.log('AT: View triggered on : ' + pageView);
});

例:triggerView()とAdobe Visual Editing Helper拡張機能の最適な互換性

Adobe Visual Editing Helper拡張機能を使用する場合は、次の点を考慮してください。

GoogleのChrome拡張機能に対する新しいV3 マニフェストポリシーにより、Visual Editing Helper拡張機能はDOMContentLoaded イベントを待ってから、VECにTarget ライブラリを読み込む必要があります。 この遅延により、オーサリングライブラリの準備が整う前にweb ページでtriggerView()呼び出しが実行され、ビューが読み込み時に入力されない場合があります。

この問題を軽減するには、ページ load イベントにリスナーを使用します。

導入の例を次に示します。

function triggerViewIfLoaded() {
    adobe.target.triggerView("homeView");
}

if (document.readyState === "complete") {
    // If the page is already loaded
    triggerViewIfLoaded();
} else {
    // If the page is not yet loaded, set up an event listener
    window.addEventListener("load", triggerViewIfLoaded);
}
recommendation-more-help
target-dev-help-dev