Web 拡張機能の条件のタイプ

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

ルールの文脈では、条件はイベントの発生後に評価されます。ルールの処理を続行するには、すべての条件が true を返す必要があります。 ただし「例外」バケットに条件を明示的に配置した場合は例外です。この場合、ルールの処理を続行するには、バケット内のすべての条件が false を返す必要があります。

例えば、拡張機能には「viewport contains」条件タイプを指定できます。この条件タイプでは、 のユーザーが CSS セレクターを指定できます。 この条件がクライアントの Web サイトで評価されると、拡張機能は、CSS セレクターに一致する要素を見つけ出し、その要素のいずれかがユーザーのビューポート内に含まれているかどうかを返すことができます。

このドキュメントでは、Adobe Experience Platform で web 拡張機能の条件タイプを定義する方法について説明します。

NOTE
エッジ拡張機能を開発する場合は、代わりに エッジ拡張機能の条件のタイプ に関するガイドを参照してください。
このドキュメントでは、読者がライブラリモジュールと、ライブラリモジュールがタグ拡張機能に統合される仕組みについて理解していることを前提としています。説明が必要な場合は、このガイドに戻る前に、 ライブラリモジュールの形式 の概要を参照してください。

通常、条件タイプは次の要素で構成されます。

  1. A 表示 をExperience PlatformUI とデータ収集 UI 内に表示し、条件の設定を変更できます。
  2. タグのランタイムライブラリ内で生成されるライブラリモジュール。設定を解釈し、条件を評価します。

条件タイプのライブラリモジュールの目的は、対象が 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

現在実行中のルールに関する情報を含むオブジェクト。 オブジェクトには、次のサブプロパティが含まれている必要があります。

  • id:現在実行中のルールの ID。
  • name:現在実行中のルールの名前。

ルールをトリガーしたイベントタイプを提供する拡張機能では、必要に応じて、その他の役に立つ情報をこの event オブジェクトに追加できます。

recommendation-more-help
12b4e4a9-5028-4d88-8ce6-64a580811743