Download, archiviazione e aggiornamento dell’artefatto della regola tramite payload JSON
Questo approccio è ideale se l’applicazione è strutturata in modo da richiedere l’inizializzazione dell’SDK su ciascun file in cui utilizza i metodi SDK. Prima che l’applicazione web possa utilizzare il payload JSON dell’artefatto della regola durante l’inizializzazione dell’SDK, assicurati che il payload JSON sia stato scaricato e che sia disponibile per l’utilizzo da parte dell’applicazione.
Riepilogo dei passaggi
- Installare l’SDK
- Inizializzare l’SDK
- Memorizzare e utilizzare il payload JSON
1. Installare l’SDK
code language-javascript line-numbers |
---|
|
code language-javascript line-numbers |
---|
|
2. Inizializzare l’SDK
-
Importa innanzitutto l’SDK. Importa nello stesso file da cui è possibile controllare l'avvio del server.
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;
-
Per configurare l’SDK, utilizza il metodo 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. } function onArtifactDownloadFailed(event) { //Adobe Target SDK has failed to download the JSON Artifact/Payload. console.log(event.artifactLocation) // Location from where the Artifact is downloaded. console.log(event.error.message) // Error message }
Java
code language-javascript line-numbers package com.adobe.target.edge.client.model.ondevice.OnDeviceDecisioningHandler; ClientConfig config = ClientConfig.builder() .client("<you target client code>") .organizationId("<your EC org id>") .onDeviceDecisioningHandler( new OnDeviceDecisioningHandler() { void onDeviceDecisioningReady() { // On-Device Decision is ready. } void artifactDownloadSucceeded(byte[] artifactData) { // Store artifactData to local disk. // ... } } ) .build(); TargetClient targetClient = TargetClient.create(config);
-
Il client e
organizationId
possono essere recuperati da Adobe Target passando a Administration > Implementation, come illustrato di seguito.<!— Inserisci image-client-code.png —>
3. Memorizzare e riattivare il payload JSON
Il meccanismo utilizzato per memorizzare il payload JSON dipende dall’architettura del sistema. È possibile utilizzare un file locale, un database o un sistema di memorizzazione nella cache degli oggetti di memoria, ad esempio Memcached. Devi essere in grado di leggere questo JSON dall’applicazione per l’utilizzo. In questa guida viene utilizzato un file locale come archivio.
code language-javascript line-numbers |
---|
|
code language-javascript line-numbers |
---|
|
Ecco un esempio che illustra la funzionalità di inizializzazione del payload JSON.
code language-javascript line-numbers |
---|
|
code language-javascript line-numbers |
---|
|