Adobe Experience Platform Launch は、Adobe Experience Platform のデータ収集テクノロジースイートとしてリブランドされています。 その結果、製品ドキュメント全体でいくつかの用語の変更がロールアウトされました。 用語の変更点の一覧については、次のドキュメントを参照してください。
ルールの文脈では、条件はイベントの発生後に評価されます。ルールの処理を続行するには、すべての条件が true を返す必要があります。 ただし「例外」バケットに条件を明示的に配置した場合は例外です。この場合、ルールの処理を続行するには、バケット内のすべての条件が false を返す必要があります。
例えば、拡張機能には「viewport contains」条件タイプを指定できます。この条件タイプでは、 のユーザーが CSS セレクターを指定できます。 この条件がクライアントの Web サイトで評価されると、拡張機能は、CSS セレクターに一致する要素を見つけ出し、その要素のいずれかがユーザーのビューポート内に含まれているかどうかを返すことができます。
このドキュメントでは、Adobe Experience Platform で web 拡張機能の条件タイプを定義する方法について説明します。
エッジ拡張機能を開発する場合は、代わりに エッジ拡張機能の条件のタイプ に関するガイドを参照してください。
このドキュメントでは、読者がライブラリモジュールと、ライブラリモジュールがタグ拡張機能に統合される仕組みについて理解していることを前提としています。説明が必要な場合は、このガイドに戻る前に、 ライブラリモジュールの形式 の概要を参照してください。
通常、条件タイプは次の要素で構成されます。
条件タイプのライブラリモジュールの目的は、対象が true と false のどちらであるかを評価することです。何を評価するかは、自由に設定できます。
例えば、ユーザーが example.com
ホスト上にいるかどうかを評価したい場合、モジュールは次のようになります。
module.exports = function(settings) {
return document.location.hostname === 'example.com';
};
次に、Adobe Experience Platform ユーザーがホスト名を設定できるようにする場合を考えてみましょう。 ユーザーがホスト名を入力し、そのホスト名を設定オブジェクトに保存できるようにします。オブジェクトは次のようになります。
{
"hostname": "example.com"
}
ユーザー定義のホスト名を操作するには、モジュールを次のように変更する必要があります。
module.exports = function(settings) {
return document.location.hostname === settings.hostname;
};
2 つ目の引数は、ルールを起動したイベントに関するコンテキスト情報を含むモジュールに渡されます。 これは状況によってはメリットがあり、次のように指定することで実現できます。
module.exports = function(settings, event) {
// event contains information regarding the event that fired the rule
};
event
オブジェクトには次のプロパティが含まれている必要があります。
プロパティ | 説明 |
---|---|
$type |
拡張機能名とイベント名を表す文字列(ピリオドを使用して結合)。例:youtube.play |
$rule |
現在実行中のルールに関する情報を含むオブジェクト。 オブジェクトには、次のサブプロパティが含まれている必要があります。
|
ルールをトリガーしたイベントタイプを提供する拡張機能では、必要に応じて、その他の役に立つ情報をこの event
オブジェクトに追加できます。