サテライトオブジェクトのリファレンス

メモ

Adobe Experience Platform Launch は、Adobe Experience Platform のデータ収集テクノロジースイートとしてリブランドされています。 その結果、製品ドキュメント全体でいくつかの用語の変更がロールアウトされました。 用語の変更点の一覧については、次のドキュメントを参照してください。

このドキュメントは、クライアントサイドの _satellite オブジェクトと、それを使用して実行できる様々な機能のリファレンスとして機能します。

track

コード

_satellite.track(identifier: string [, detail: *] )

_satellite.track('contact_submit', { name: 'John Doe' });

track は、コアタグ拡張機能から指定された識別子を使用して設定されたダイレクトコールイベントタイプを使用するすべてのルールを実行します。上記の例では、ダイレクト型イベントタイプを使用する(contact_submit 識別子が設定されている)すべてのルールをトリガーします。関連情報を含むオプションのオブジェクトも渡されます。詳細オブジェクトにアクセスするには、条件やアクションのテキストフィールド内で「%event.detail%」と入力するか、カスタムコード条件またはアクションのコードエディター内で「event.detail」と入力します。

getVar

コード

_satellite.getVar(name: string) => *

var product = _satellite.getVar('product');

この例では、名前が一致するデータ要素が存在する場合、そのデータ要素の値が返されます。一致するデータ要素が存在しない場合は、一致する名前のカスタム変数が、以前に _satellite.setVar() を使用して設定されているかどうかを確認します。一致するカスタム変数が見つかると、その値が返されます。

データ収集ユーザーインターフェイスの多くのフォームフィールドでは、%% 構文を使用して変数を参照できるため、_satellite.getVar() の呼び出しを減らすことができます。たとえば、%product% を使用すると、製品データ要素またはカスタム変数の値にアクセスします。

setVar

コード

_satellite.setVar(name: string, value: *)

_satellite.setVar('product', 'Circuit Pro');

setVar() は、指定した名前と値でカスタム変数を設定します。変数の値は、_satellite.getVar() を使用して後でアクセスできます。

オプションとして、キーが変数名、値がそれぞれの変数値であるオブジェクトを渡すことにより、複数の変数を一度に設定できます。

_satellite.setVar({ 'product': 'Circuit Pro', 'category': 'hobby' });

getVisitorId

コード

_satellite.getVisitorId() => Object

var visitorIdInstance = _satellite.getVisitorId();

プロパティに Adobe Experience Cloud ID 拡張機能がインストールされている場合、このメソッドは訪問者 ID インスタンスを返します。詳しくは、 Experience Cloud ID サービスのドキュメント を参照してください。

logger

コード

_satellite.logger.log(message: string)
_satellite.logger.info(message: string)
_satellite.logger.warn(message: string)
_satellite.logger.error(message: string)

_satellite.logger.error('No product ID found.');

logger オブジェクトを使用すると、メッセージをブラウザーコンソールに記録できます。このメッセージは、ユーザーが(_satellite.setDebug(true) を呼び出す、または適切なブラウザー拡張機能を使用して)タグのデバッグを有効にした場合にのみ表示されます。

ログ取得廃止の警告

_satellite.logger.deprecation(message: string)

_satellite.logger.deprecation('This method is no longer supported, please use [new example] instead.');

これにより、ブラウザーコンソールに警告が記録されます。ユーザーがタグのデバッグを有効にしているかどうかに関係なく、メッセージが表示されます。

_satellite.cookie には、cookie の読み取りと書き込みをおこなう関数が含まれます。これは、サードパーティのライブラリ js-cookie の公開済みコピーです。このライブラリのより高度な使用方法の詳細については、js-cookie のドキュメントを参照してください。

cookie を設定するには、_satellite.cookie.set() を使用します。

コード

_satellite.cookie.set(name: string, value: string[, attributes: Object])
メモ

古い setCookie メソッドを使う cookie の設定方法では、この関数呼び出しの 3 番目(オプション)の引数は、cookie の有効期間(TTL)を日数で示す整数でした。 この新しいメソッドでは、「attributes」オブジェクトを 3 番目の引数として受け取ります。 新しいメソッドを使用して cookie の TTL を設定するには、attributes オブジェクトに expires プロパティを指定し、目的の値に設定する必要があります。以下に例を示します。

次の関数呼び出しは、1 週間で期限切れになる cookie を書き込みます。

_satellite.cookie.set('product', 'Circuit Pro', { expires: 7 });

cookie を取得するには、_satellite.cookie.get() を使用します。

コード

_satellite.cookie.get(name: string) => string

次の関数呼び出しは、以前に設定された cookie を読み取ります。

var product = _satellite.cookie.get('product');

cookie を削除するには、_satellite.cookie.remove() を使用します。

コード

_satellite.cookie.remove(name: string)

次の関数呼び出しは、以前に設定された cookie を削除します。

_satellite.cookie.remove('product');

buildInfo

コード

_satellite.buildInfo

このオブジェクトには、現在のタグのランタイムライブラリのビルドに関する情報が含まれています。オブジェクトには、次のプロパティが含まれています。

turbineVersion

これにより、現在のライブラリ内で使用されている Turbine バージョンが提供されます。

turbineBuildDate

コンテナ内で使用されている Turbine のバージョンが作成された日付(ISO 8601 形式)。

buildDate

現在のライブラリが構築された日付(ISO 8601 形式)。

この例では、オブジェクトの値を示します。

{
  turbineVersion: "14.0.0",
  turbineBuildDate: "2016-07-01T18:10:34Z",
  buildDate: "2016-03-30T16:27:10Z"
}

environment

このオブジェクトには、現在のタグランタイムライブラリがデプロイされている環境に関する情報が含まれています。

コード

_satellite.environment

オブジェクトには、次のプロパティが含まれています。

{
  id: "ENbe322acb4fc64dfdb603254ffe98b5d3",
  stage: "development"
}
プロパティ 説明
id 環境の ID。
stage このライブラリが構築された環境。使用できる値は、developmentstagingproduction です。

notify

メモ

このメソッドは廃止されました。代わりに _satellite.logger.log() を使用してください。

コード

_satellite.notify(message: string[, level: number])

_satellite.notify('Hello world!');

notify は、ブラウザーコンソールにメッセージを記録します。このメッセージは、ユーザーが(_satellite.setDebug(true) を呼び出すか、適切なブラウザ拡張機能を使用して)タグのデバッグを有効にした場合にのみ表示されます。

ログに記録されるメッセージのスタイル設定とフィルタリングに影響を与えるオプションのログレベルを渡すことができます。サポートされているレベルは次のとおりです。

3 - 情報メッセージ。

4 - 警告メッセージ。

5 - エラーメッセージ。

ログレベルを指定しない場合や、その他のレベルの値を渡す場合、メッセージは通常のメッセージとして記録されます。

setCookie

重要

このメソッドは廃止されました。代わりに _satellite.cookie.set() を使用してください。

コード

_satellite.setCookie(name: string, value: string, days: number)

_satellite.setCookie('product', 'Circuit Pro', 3);

これにより、ユーザーのブラウザーに cookie が設定されます。cookie は指定した日数の間持続します。

readCookie

重要

このメソッドは廃止されました。代わりに _satellite.cookie.get() を使用してください。

コード

_satellite.readCookie(name: string) => string

var product = _satellite.readCookie('product');

これにより、ユーザーのブラウザーから cookie を読み取ります。

removeCookie

メモ

このメソッドは廃止されました。代わりに _satellite.cookie.remove() を使用してください。

コード

_satellite.removeCookie(name: string)

_satellite.removeCookie('product');

これにより、ユーザーのブラウザーから cookie を削除します。

デバッグ関数

次の関数は、実稼動コードからはアクセスできません。これらはデバッグ目的のみを目的としており、必要に応じて時間の経過と共に変化します。

container

コード

_satellite._container

重要

この関数は、実稼動コードからはアクセスできません。デバッグ目的のみを目的としており、必要に応じて時間の経過と共に変化します。

monitor

コード

_satellite._monitors

重要

この関数は、実稼動コードからはアクセスできません。デバッグ目的のみを目的としており、必要に応じて時間の経過と共に変化します。

サンプル

タグライブラリを実行する Web ページで、コードのスニペットを HTML に追加します。通常、コードは、タグライブラリを読み込む <script> 要素の前の <head> 要素に挿入されます。これにより、タグライブラリで発生する最も古いシステムイベントを監視できます。次に例を示します。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script>
    window._satellite = window._satellite || {};
    window._satellite._monitors = window._satellite._monitors || [];
    window._satellite._monitors.push({
      ruleTriggered: function (event) {
        console.log(
          'rule triggered',
          event.rule
        );
      },
      ruleCompleted: function (event) {
        console.log(
          'rule completed',
          event.rule
        );
      },
      ruleConditionFailed: function (event) {
        console.log(
          'rule condition failed',
          event.rule,
          event.condition
        );
      }
    });
  </script>
  <script src="//assets.adobedtm.com/launch-EN5bfa516febde4b22b3e7c6f96f6b439f.min.js"
          async></script>
</head>
<body>
  <h1>Click me!</h1>
</body>
</html>

最初のスクリプト要素では、タグライブラリがまだ読み込まれていないので、最初の _satellite オブジェクトが作成され、_satellite._monitors の配列が初期化されます。次に、スクリプトがそ配列にモニターオブジェクトを追加します。モニターオブジェクトは、後でタグライブラリによって呼び出される次のメソッドを指定できます。

ruleTriggered

この関数は、イベントがルールをトリガーした後、ルールの条件とアクションが処理される前に呼び出されます。ruleTriggered に渡されたイベントオブジェクトには、トリガーされたルールに関する情報が含まれます。

ruleCompleted

この関数は、ルールが完全に処理された後に呼び出されます。 (つまり、イベントが発生し、すべての条件をクリアし、すべてのアクションが実行された後)ruleCompleted に渡された event オブジェクトには、完了したルールに関する情報が含まれます。

ruleConditionFailed

この関数は、ルールがトリガーされ、その条件の 1 つが失敗した後に呼び出されます。ruleConditionFailed に渡されたイベントオブジェクトには、トリガーされたルールと、失敗した条件に関する情報が含まれます。

ruleTriggered が呼び出されると、その直後に ruleCompleted または ruleConditionFailed が呼び出されます。

メモ

1 つのモニターで、3 つのメソッドすべて(ruleTriggeredruleCompleted、および ruleConditionFailed)を指定する必要はありません。Adobe Experience Platform のタグは、モニターで提供されている、あらゆるサポートメソッドで機能します。

モニターのテスト

上記の例では、モニターで 3 つのメソッドをすべて指定しています。呼び出されると、モニターは関連情報を記録します。これをテストするには、タグライブラリで 2 つのルールを設定します。

  1. クリックイベントと、ブラウザー情報(ブラウザーが Chrome の場合にのみ渡されます)を含むルール。
  2. クリックイベントと、ブラウザー情報(ブラウザーが Firefox の場合にのみ渡されます)を含むルール。

Chrome でページを開く場合は、ブラウザーコンソールを開いて、ページを選択すると、コンソールに以下が表示されます。

これらのハンドラーには、必要に応じて、さらにフックや情報が追加される場合があります。

このページ