拡張機能の開発の概要
Adobe Experience Platform のタグが持つ 1 つの目的は、Adobe 外のエンジニアが Web サイトやモバイルアプリケーションで追加の機能を公開できる、オープンなエコシステムを構築することです。これは、タグ拡張機能で実現できます。タグプロパティに拡張機能をインストールすると、プロパティのすべてのユーザーがその拡張機能を使用できるようになります。
このドキュメントでは、拡張機能の主なコンポーネントの概要を説明し、拡張機能の開発プロセスに関して役立つその他のドキュメントへのリンクを提供します。
拡張機能の構造
拡張機能は、ファイルのディレクトリで構成されます。 具体的には、拡張機能は、マニフェストファイル、ライブラリモジュール、ビューで構成されます。
マニフェストファイル
マニフェストファイル(extension.json
)は、ディレクトリのルートに存在する必要があります。このファイルでは、拡張機能の構成と、特定のファイルを格納するディレクトリ内の場所を記述します。マニフェストは、npm プロジェクトの package.json
ファイルと同じように機能します。
ライブラリモジュール
ライブラリモジュールは、拡張機能が提供する様々な コンポーネント (タグのランタイムライブラリで生成されるロジック)を記述するファイルです。各ライブラリモジュールファイルの内容は、 CommonJS モジュールの標準 に従う必要があります。
たとえば、「ビーコンを送信」というアクションタイプを作成する場合、ビーコンを送信するロジックを含むファイルが必要です。JavaScript を使用する場合、ファイルは sendBeacon.js
のようになります。このファイルの内容は、タグランタイムライブラリ内で生成されます。
extension.json
に場所を記述すれば、拡張機能ディレクトリ内の任意の場所にライブラリモジュールファイルを配置できます。
件数
ビューは、Platform UI や Data Collection UI を通じて 🔗 タグアプリケーション内の iframe
HTMLに読み込むことができる要素ファイルです。 ビューには、拡張機能が提供するスクリプトが含まれ、アプリケーションと通信するために小さな API に対応している必要があります。
拡張機能で最も重要なビューファイルは、設定です。 詳しくは、 拡張機能の設定 の節を参照してください。
ビュー内で使用するライブラリに関して制限はありません。 つまり、jQuery、Underscore、React、Angular、Bootstrap などを使用できます。ただし、拡張機能のルックアンドフィールを UI と似たものにすることをお勧めします。
すべての表示関連ファイル(HTML、CSS、JavaScript)は、ライブラリモジュールファイルから分離された 1 つのサブディレクトリ内に配置することをお勧めします。 extension.json
に、このビューのサブディレクトリの場所を記述します。その後、Platform は、web サーバーからこのサブディレクトリ(このサブディレクトリのみ)を提供します。
ライブラリコンポーネント components
各拡張機能で、一連の機能を定義します。 これらの機能は、Web サイトやアプリにデプロイする ライブラリ に含めることで実装します。ライブラリは、条件、アクション、データ要素などを含む、個別のコンポーネントの集まりです。ライブラリの各コンポーネントは、タグのランタイムで生成される再利用可能なコードであり、拡張機能によって提供されます。
Web 拡張機能とエッジ拡張機能のどちらを開発しているかによって、使用できるコンポーネントのタイプとそのユースケースは異なります。各拡張機能タイプで使用できるコンポーネントの概要については、以下のサブセクションを参照してください。
Web 拡張機能のコンポーネント web
web 拡張機能では、ルールはイベントを介してトリガーされます。その後、特定の条件が満たされた場合に、特定のアクションを実行できます。詳しくは、 🔗web 拡張機能のモジュールフロー の概要を参照してください。
アドビが提供する コアモジュール に加えて、Web 拡張機能では次のライブラリモジュールタイプを定義できます。
エッジ拡張機能のコンポーネント edge
エッジ拡張機能では、条件チェックを通じてルールがトリガーされ、チェックが合格すると、特定のアクションが実行されます。詳しくは、 エッジ拡張機能のフロー の概要を参照してください。
エッジ拡張機能では、次のライブラリコンポーネントを定義できます。
拡張機能の設定 configuration
拡張機能の設定では、ユーザーからグローバル設定を収集する方法を指定します。この設定は、タグランタイムライブラリ内の設定をプレーンオブジェクトとして書き出して発行する、ビューコンポーネントで構成されます。
例えば、ユーザーが「ビーコンを送信」アクションを使用してビーコンを送信できる拡張機能について考えてみます。このビーコンには常にアカウント ID を含める必要があります。拡張機能では、「ビーコンの送信」アクションを設定するたびに、ユーザーに対してアカウント ID を要求する代わりに、拡張機能の設定ビューで 1 回だけアカウント ID を要求する必要があります。「ビーコンを送信」アクションは、ビーコンが送信されるたびに拡張機能設定からアカウント ID を取得してビーコンに追加できます。
UI のプロパティに拡張機能をインストールすると、拡張機能の設定ビューが表示されます。インストールを完了するには、このビューを終了する必要があります。
詳しくは、 拡張機能の設定 に関するガイドを参照してください。
拡張機能の送信
拡張機能のビルドが完了したら、その拡張機能を送信して、Platform の拡張機能カタログに表示できます。 詳しくは、 拡張機能送信プロセスの概要 を参照してください。