JSON ペイロードを使用したルールアーティファクトのダウンロード、保存、更新
このアプローチは、SDK メソッドを使用する各ファイルでSDKを初期化する必要がある方法でアプリケーションが構造化されている場合に最適です。 web アプリケーションでSDKの初期化中にルールアーティファクトのJSON ペイロードを使用する前に、JSON ペイロードがダウンロードされ、アプリケーションで使用可能であることを確認する必要があります。
手順の概要
- SDKのインストール
- SDKの初期化
- JSON ペイロードの保存と使用
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: { artifactDownloadSucceeded: onArtifactDownloadSucceeded, artifactDownloadFailed: onArtifactDownloadFailed } }; const TargetClient = TargetClient.create(CONFIG); function onArtifactDownloadSucceeded(event) { //Adobe Target SDK has now downloaded the JSON Artifact/Payload console.log(event.artifactLocation) // Location from where the Artifact is downloaded. console.log(event.artifactPayload) // JSON Payload which we can store locally. }Java
code language-javascript line-numbers package com.adobe.target.edge.client.model.ondevice.OnDeviceDecisioningHandler; -
次に示すように、Administration > Implementationに移動すると、クライアントと
organizationIdの両方をAdobe Targetから取得できます。
3. JSON ペイロードの保存と再利用
JSON ペイロードの保存に使用するメカニズムは、システムのアーキテクチャによって異なります。 ローカルファイル、データベース、またはMemcachedなどのメモリオブジェクトキャッシュシステムを使用できます。 このJSONをアプリケーションから読み取って使用できるようにする必要があります。 このガイドでは、ローカルファイルをストレージとして使用します。
Node.js
| code language-javascript line-numbers |
|---|
|
Java
| code language-javascript line-numbers |
|---|
|
NOTE
Adobe TargetSDKはルールアーティファクトのダウンロードを待つ必要がないため、JSON ペイロードを使用してAdobe TargetSDKを初期化することで、サーバーはオンデバイス判定アクティビティを使用してリクエストをすぐに処理できます。
JSON ペイロード初期化機能を示す例を次に示します。
Node.js
| code language-javascript line-numbers |
|---|
|
Java
| code language-javascript line-numbers |
|---|
|
recommendation-more-help
target-dev-help-dev