mbox リクエストまたはオファーの失敗や成功を把握するための at.js custom events
について説明します。
以前は、mbox.js を使用している場合、バックグラウンドでの処理内容を、ページ上で実行される他の JavaScript コードが把握することはできませんでした。at.js の改良により、この問題を独自の方法で解決することができました。
当社のお客様によれば、次のような場合に通知が必要になります。
事前定義されたイベントの構造は、イベントのタイプに基づいて必要なデータを抽出できるようになっています。
イベントを様々なシナリオで使用できるようにするため、カスタムイベントにはペイロードオブジェクトがあります。このオブジェクトは(ハンドラーに渡される)イベントオブジェクトの詳細プロパティに割り当てられます。また、文字列をイベント名として渡さないようにするため、イベントは adobe.target.event
名前空間を使用して定数として公開されます。
キー | タイプ | 説明 |
---|---|---|
type | 文字列 | at.js とのインタラクションの追跡、デバッグ、カスタマイズに役立つ通知を受け取るシナリオには、様々なものが考えられます。 以下の各カスタムイベントには、「定数」と「文字列値」の 2 つの形式があります。
定数: 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 | 文字列 | 人間が解読可能な説明(何が起こったか、エラーメッセージの内容など)。 |
トラッキング | オブジェクト | sessionId と deviceId が格納されます。場合によっては、deviceId が Target を取得できないため、この値が欠落することがあります。 |
document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, function(event) {
console.log('Event', event);
});
次のビデオでは、レスポンストークンと at.js カスタムイベントを使用して Target とサードパーティシステムの間でプロファイル情報を共有する方法について説明します。