拡張機能の開発の概要

メモ

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

Adobe Experience Platform のタグが持つ 1 つの目的は、Adobe 外のエンジニアが Web サイトやモバイルアプリケーションで追加の機能を公開できる、オープンなエコシステムを構築することです。これは、タグ拡張機能で実現できます。タグプロパティに拡張機能をインストールすると、プロパティのすべてのユーザーがその拡張機能を使用できるようになります。

このドキュメントでは、拡張機能の主なコンポーネントの概要を説明し、拡張機能の開発プロセスに関して役立つその他のドキュメントへのリンクを提供します。

拡張機能の構造

拡張機能は、ファイルのディレクトリで構成されます。 具体的には、拡張機能は、マニフェストファイル、ライブラリモジュール、ビューで構成されます。

マニフェストファイル

マニフェストファイル(extension.json)は、ディレクトリのルートに存在する必要があります。このファイルでは、拡張機能の構成と、特定のファイルを格納するディレクトリ内の場所を記述します。マニフェストは、npm プロジェクトの package.json ファイルと同じように機能します。

ライブラリモジュール

ライブラリモジュールは、拡張機能が提供する様々な コンポーネント (タグのランタイムライブラリで生成されるロジック)を記述するファイルです。各ライブラリモジュールファイルの内容は、 CommonJS モジュールの標準 に従う必要があります。

たとえば、「ビーコンを送信」というアクションタイプを作成する場合、ビーコンを送信するロジックを含むファイルが必要です。JavaScript を使用する場合、ファイルは sendBeacon.js のようになります。このファイルの内容は、タグランタイムライブラリ内で生成されます。

extension.json に場所を記述すれば、拡張機能ディレクトリ内の任意の場所にライブラリモジュールファイルを配置できます。

件数

ビューは、データ収集 UI を通じてタグアプリケーションの iframe 要素 に読み込むことができる HTML ファイルです。 ビューには、拡張機能が提供するスクリプトが含まれ、アプリケーションと通信するために小さな API に対応している必要があります。

拡張機能で最も重要なビューファイルは、設定です。 詳しくは、 拡張機能の設定 の節を参照してください。

ビュー内で使用するライブラリに関して制限はありません。 つまり、jQuery、Underscore、React、Angular、Bootstrap などを使用できます。ただし、拡張機能のルックアンドフィールをデータ収集 UI と同じにすることをお勧めします。

すべての表示関連ファイル(HTML、CSS、JavaScript)は、ライブラリモジュールファイルから分離された 1 つのサブディレクトリ内に配置することをお勧めします。 extension.json に、このビューのサブディレクトリの場所を記述します。その後、Platform は、web サーバーからこのサブディレクトリ(このサブディレクトリのみ)を提供します。

ライブラリコンポーネント

各拡張機能で、一連の機能を定義します。 これらの機能は、Web サイトやアプリにデプロイする ライブラリ に含めることで実装します。ライブラリは、条件、アクション、データ要素などを含む、個別のコンポーネントの集まりです。ライブラリの各コンポーネントは、タグのランタイムで生成される再利用可能なコードであり、拡張機能によって提供されます。

Web 拡張機能とエッジ拡張機能のどちらを開発しているかによって、使用できるコンポーネントのタイプとそのユースケースは異なります。各拡張機能タイプで使用できるコンポーネントの概要については、以下のサブセクションを参照してください。

Web 拡張機能のコンポーネント

web 拡張機能では、ルールはイベントを介してトリガーされます。その後、特定の条件が満たされた場合に、特定のアクションを実行できます。詳しくは、 ](./web/flow.md)web 拡張機能のモジュールフロー[ の概要を参照してください。

アドビが提供する コアモジュール に加えて、Web 拡張機能では次のライブラリモジュールタイプを定義できます。

メモ

Web 拡張機能にライブラリコンポーネントを実装するための必要な形式について詳しくは、 モジュール形式の概要 を参照してください。

エッジ拡張機能のコンポーネント

エッジ拡張機能では、条件チェックを通じてルールがトリガーされ、チェックが合格すると、特定のアクションが実行されます。詳しくは、 エッジ拡張機能のフロー の概要を参照してください。

エッジ拡張機能では、次のライブラリコンポーネントを定義できます。

メモ

エッジ拡張機能にライブラリモジュールを実装するための必要な形式について詳しくは、 モジュール形式の概要 に関するページを参照してください。

拡張機能の設定

拡張機能の設定では、ユーザーからグローバル設定を収集する方法を指定します。この設定は、タグランタイムライブラリ内の設定をプレーンオブジェクトとして書き出して発行する、ビューコンポーネントで構成されます。

例えば、ユーザーが「ビーコンを送信」アクションを使用してビーコンを送信できる拡張機能について考えてみます。このビーコンには常にアカウント ID を含める必要があります。拡張機能では、「ビーコンの送信」アクションを設定するたびに、ユーザーに対してアカウント ID を要求する代わりに、拡張機能の設定ビューで 1 回だけアカウント ID を要求する必要があります。「ビーコンを送信」アクションは、ビーコンが送信されるたびに拡張機能設定からアカウント ID を取得してビーコンに追加できます。

UI のプロパティに拡張機能をインストールすると、拡張機能の設定ビューが表示されます。インストールを完了するには、このビューを終了する必要があります。

詳しくは、 拡張機能の設定 に関するガイドを参照してください。

拡張機能の送信

拡張機能のビルドが完了したら、その拡張機能を送信して、Platform の拡張機能カタログに表示できます。 詳しくは、 拡張機能送信プロセスの概要 を参照してください。

このページ