Adobe Target SDK を使用したルールアーティファクトの自動ダウンロード、保存および更新
Web サーバーの初期化と開始を同時に行いながら Adobe Target SDK を初期化できる場合は、この方法が最適です。 ルールアーティファクトは、web サーバーアプリケーションがリクエストの処理を開始する前に、Adobe Target SDK によってダウンロードされ、メモリにキャッシュされます。 Web アプリケーションが起動して実行されると、すべて Adobe Target 決定がメモリ内ルールアーティファクトを使用して実行されます。 キャッシュされたルールアーティファクトは、SDK 初期化手順で指定した pollingInterval
に基づいて更新されます。
手順の概要
- SDK のインストール
- SDK の初期化
- ルールアーティファクトの保存と使用
1. SDK をインストールする
NPM
code language-javascript line-numbers |
---|
|
MVN
code language-javascript line-numbers |
---|
|
2. SDK の初期化
-
まず、SDK を読み込みます。 サーバーの起動を制御できるのと同じファイルにを読み込みます。
Node.js
code language-javascript line-numbers const TargetClient = require("@adobe/target-nodejs-sdk");
Java
code language-javascript line-numbers import com.adobe.target.edge.client.ClientConfig; import com.adobe.target.edge.client.TargetClient;
-
SDK を設定するには、create メソッドを使用します。
Node.js
code language-javascript line-numbers const CONFIG = { client: "<your target client code>", organizationId: "your EC org id", decisioningMethod: "on-device", pollingInterval : 300000, events: { clientReady: startWebServer } }; const TargetClient = TargetClient.create(CONFIG); function startWebServer() { //Adobe Target SDK has now downloaded the JSON Artifacts and is available in the memory. //You can start your web server now to serve requests now. }
Java
code language-javascript line-numbers ClientConfig config = ClientConfig.builder() .client("<you target client code>") .organizationId("<your EC org id>") .build(); TargetClient targetClient = TargetClient.create(config);
-
ここに示すように、Administration / Implementation に移動すると、client と organizationId の両方を Adobe Target から取得できます。
<!— image-client-code.png を挿入 – >
3. ルールアーティファクトの保存と使用
ルールアーティファクトを自分で管理する必要はなく、SDK メソッドの呼び出しは簡単です。
Node.js
code language-javascript line-numbers |
---|
|
Java
code language-java line-numbers |
---|
|
NOTE
上記のコードサンプルでは、
TargetClient
オブジェクトは、メモリ内ルールアーティファクトへの参照を保持します。 このオブジェクトを標準 SDK メソッドの呼び出しに使用する場合、決定にはメモリ内ルールアーティファクトが使用されます。 クライアントリクエストを初期化してリッスンするファイル以外のファイルで SDK メソッドを呼び出す必要がある構造のアプリケーションで、それらのファイルが TargetClient オブジェクトにアクセスできない場合、JSON ペイロードをダウンロードしてローカル JSON ファイルに保存し、他のファイルで使用して SDK を初期化する必要があるファイルに保存できます。 これについては、次の節 JSON ペイロードを使用したルールアーティファクトのダウンロードで説明します。Adobe Target SDK を初期化した後に web アプリケーションを開始する例を次に示します。
Node.js
code language-javascript line-numbers |
---|
|
Java
code language-java line-numbers |
---|
|
recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3