at.js カスタムイベント

mbox リクエストまたはオファーの失敗や成功を把握するための at.js custom events について説明します。

以前は、mbox.js を使用している場合、バックグラウンドでの処理内容を、ページ上で実行される他の JavaScript コードが把握することはできませんでした。at.js の改良により、この問題を独自の方法で解決することができました。

当社のお客様によれば、次のような場合に通知が必要になります。

  • タイムアウト、ステータスコードの誤り、JSON 解析エラーなどの理由で mbox リクエストが失敗した。
  • mbox リクエストが成功した。
  • ラッピング mbox 要素が欠落している、セレクターがないなどの理由でオファーのレンダリングが失敗した。
  • オファーのレンダリングが成功した。DOM の変更が適用されました。

事前定義されたイベントの構造は、イベントのタイプに基づいて必要なデータを抽出できるようになっています。

イベントを様々なシナリオで使用できるようにするため、カスタムイベントにはペイロードオブジェクトがあります。このオブジェクトは(ハンドラーに渡される)イベントオブジェクトの詳細プロパティに割り当てられます。また、文字列をイベント名として渡さないようにするため、イベントは adobe.target.event 名前空間を使用して定数として公開されます。

構造

キー タイプ 説明
type 文字列 at.js とのインタラクションの追跡、デバッグ、カスタマイズに役立つ通知を受け取るシナリオには、様々なものが考えられます。
以下の各カスタムイベントには、「定数」と「文字列値」の 2 つの形式があります。
  • 定数: 先頭に adobe.target.event. が追加されます。すべて大文字で記述され、アンダースコア文字が含まれます。at.js の読み込みの​​から、mbox の応答の​​までの間にカスタムイベントをサブスクライブする場合は、定数を使用します。
  • 文字列値: 小文字で記述され、ダッシュが含まれます。at.js の読み込みの​​にカスタムイベントをサブスクライブする場合は、文字列値を使用します。
Request Failed
​定数:adobe.target.event.REQUEST_FAILED
文字列値:at-request-failed
説明:タイムアウト、ステータスコードの誤り、JSON解析エラーなどが原因でmboxリクエストが失敗した。
Request
SucceededConstant: adobe.target.event.REQUEST_SUCCEEDED
文字列値: at-request-succeeded
説明:mboxリクエストが成功しました。
Content Rendering
FailedConstant: adobe.target.event.CONTENT_RENDERING_FAILED
文字列値: at-content-rendering-failed
説明:ラッピングmbox要素が見つからない、セレクターが見つからないなどの理由で、オファーのレンダリングに失敗しました。
Content Rendering
SucceededConstant: adobe.target.event.CONTENT_RENDERING_SUCCEEDED
文字列値: at-content-rendering-succeeded
説明:オファーのレンダリングが成功しました。DOM の変更が適用されました。
Library
LoadedConstant: adobe.target.event.LIBRARY_LOADED
文字列値: at-library-loaded
説明:このイベントは、at.jsがいつ完全に読み込まれたかを追跡するのに最適です。このイベントを使用してグローバル mbox の実行をカスタマイズできます。グローバル mbox を無効にしてから、このイベントをリッスンして後でグローバル mbox を呼び出すこともできます。
Request
StartConstant: adobe.target.event.REQUEST_START
文字列値: at-request-start
説明:このイベントは、HTTP要求が実行される前に実行されます。このイベントは、Resource Timing API によるパフォーマンス計測に使用できます。
Content Rendering
StartConstant: adobe.target.event.CONTENT_RENDERING_START
文字列値: at-content-rendering-start
説明:このイベントは、セレクターのポーリングが開始され、コンテンツがページにレンダリングされる前に実行されます。このイベントを使用して、コンテンツのレンダリングの進捗状況を追跡できます。
Content Rendering No Offers
​定数:adobe.target.event.CONTENT_RENDERING_NO_OFFERS
文字列値:at-content-rendering-no-offers
説明:このイベントは、オファーが返されない場合に発生します。
コンテンツレンダリング
​のRedirectConstant: adobe.target.event.CONTENT_RENDERING_REDIRECT
文字列値: at-content-rendering-redirect
説明:このイベントは、オファーがリダイレクトで、ターゲットが別のURLにリダイレクトする場合に発生します。
mbox 文字列 mbox 名
message 文字列 人間が解読可能な説明(何が起こったか、エラーメッセージの内容など)。
トラッキング オブジェクト sessionIddeviceId が格納されます。場合によっては、deviceId が Target を取得できないため、この値が欠落することがあります。
type 文字列 On-device decisioning artifact
succeededConstant:
adobe.target.event.ARTIFACT_DOWNLOAD_SUCCEEDED
String値: artifactDownloadSucceeded
説明:オンデバイス判定アーティファクトが正常にダウンロードされたときに呼び出されます。
On-device decisioning artifact
failedConstant: adobe.target.event.ARTIFACT_DOWNLOAD_FAILED
文字列値: artifactDownloadFailed
説明:オンデバイス判定アーティファクトのダウンロードに失敗したときに呼び出されます。

使用方法

document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, function(event) { 
  console.log('Event', event); 
});

トレーニングビデオ: レスポンストークンと at.js カスタムイベントチュートリアルバッジ

次のビデオでは、レスポンストークンと at.js カスタムイベントを使用して Target とサードパーティシステムの間でプロファイル情報を共有する方法について説明します。

このページ

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now