サテライトオブジェクトのリファレンス
このドキュメントは、クライアントサイドの _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%
を使用すると、製品データ要素またはカスタム変数の値にアクセスします。イベントがルールをトリガー設定する場合、次のように、ルールの対応する event
オブジェクトを _satellite.getVar()
に渡すことができます。
// event refers to the calling rule's event
var rule = _satellite.getVar('return event rule', event);
setVar
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.');
これにより、ブラウザーコンソールに警告が記録されます。ユーザーがタグのデバッグを有効にしているかどうかに関係なく、メッセージが表示されます。
cookie
cookie
_satellite.cookie
には、cookie の読み取りと書き込みをおこなう関数が含まれます。これは、サードパーティのライブラリ js-cookie の公開済みコピーです。このライブラリのより高度な使用方法の詳細については、js-cookie のドキュメントを参照してください。
cookie の設定 cookie-set
cookie を設定するには、_satellite.cookie.set()
を使用します。
コード
_satellite.cookie.set(name: string, value: string[, attributes: Object])
setCookie
メソッドを使う cookie の設定方法では、この関数呼び出しの 3 番目(オプション)の引数は、cookie の有効期限を日数で示す整数でした。 この新しいメソッドでは、「attributes」オブジェクトを 3 番目の引数として受け取ります。 新しいメソッドを使用して cookie の有効期限を設定するには、attributes オブジェクトに expires
プロパティを指定し、目的の値に設定する必要があります。 以下に例を示します。例
次の関数呼び出しは、1 週間で期限切れになる cookie を書き込みます。
_satellite.cookie.set('product', 'Circuit Pro', { expires: 7 });
cookie の取得 cookie-get
cookie を取得するには、_satellite.cookie.get()
を使用します。
コード
_satellite.cookie.get(name: string) => string
例
次の関数呼び出しは、以前に設定された cookie を読み取ります。
var product = _satellite.cookie.get('product');
cookie の削除 cookie-remove
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
stage
development
、staging
、production
です。notify
_satellite.logger.log()
を使用してください。コード
_satellite.notify(message: string[, level: number])
例
_satellite.notify('Hello world!');
notify
は、ブラウザーコンソールにメッセージを記録します。このメッセージは、ユーザーが(_satellite.setDebug(true)
を呼び出すか、適切なブラウザ拡張機能を使用して)タグのデバッグを有効にした場合にのみ表示されます。
ログに記録されるメッセージのスタイル設定とフィルタリングに影響を与えるオプションのログレベルを渡すことができます。サポートされているレベルは次のとおりです。
3 - 情報メッセージ。
4 - 警告メッセージ。
5 - エラーメッセージ。
ログレベルを指定しない場合や、その他のレベルの値を渡す場合、メッセージは通常のメッセージとして記録されます。
setCookie
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
が呼び出されます。
ruleTriggered
、ruleCompleted
、および ruleConditionFailed
)を指定する必要はありません。Adobe Experience Platform のタグは、モニターで提供されている、あらゆるサポートメソッドで機能します。モニターのテスト
上記の例では、モニターで 3 つのメソッドをすべて指定しています。呼び出されると、モニターは関連情報を記録します。これをテストするには、タグライブラリで 2 つのルールを設定します。
- クリックイベントと、ブラウザー情報(ブラウザーが Chrome の場合にのみ渡されます)を含むルール。
- クリックイベントと、ブラウザー情報(ブラウザーが Firefox の場合にのみ渡されます)を含むルール。
Chrome でページを開く場合は、ブラウザーコンソールを開いて、ページを選択すると、コンソールに以下が表示されます。
これらのハンドラーには、必要に応じて、さらにフックや情報が追加される場合があります。