Introducción a Target SDK

Para ponerse en marcha, le recomendamos que cree su primer toma de decisiones en el dispositivo marca la actividad en el idioma que elija:

  • Node.js
  • Java
  • .NET
  • Python

Resumen de los pasos

  1. Habilitar la toma de decisiones en el dispositivo para su organización
  2. Instalación del SDK
  3. Inicialización del SDK
  4. Configurar los indicadores de funcionalidades en una Adobe Target Prueba A/B actividad
  5. Implementar y procesar la función en la aplicación
  6. Implementar el seguimiento de eventos en la aplicación
  7. Activar su Prueba A/B actividad

1. Habilitar la toma de decisiones en el dispositivo para su organización

Al habilitar la toma de decisiones en el dispositivo se garantiza una Prueba A/B la actividad se ejecuta con una latencia cercana a cero. Para habilitar esta función, vaya a Administration > Implementación > Detalles de la cuenta y habilite la Toma de decisiones en el dispositivo alternar.

imagen alt

NOTE
Debe tener el Administrador o Aprobador función de usuario para habilitar o deshabilitar Toma de decisiones en el dispositivo alternar.

Después de activar el Toma de decisiones en el dispositivo alternar, Adobe Target comienza a generar artefactos de regla para su cliente.

2. Instalar el SDK

Para Node.js, Java y Python, ejecute el siguiente comando en el directorio del proyecto en el terminal. Para .NET, agréguela como dependencia por instalar desde NuGet.

Node.js (NPM)
code language-js line-numbers
npm i @adobe/target-nodejs-sdk -P
Java (Maven)
code language-javascript line-numbers
<dependency>
   <groupId>com.adobe.target</groupId>
   <artifactId>java-sdk</artifactId>
   <version>2.0</version>
</dependency>
.NET (Bash)
code language-bash line-numbers
dotnet add package Adobe.Target.Client
Python (pip)
code language-python line-numbers
pip install target-python-sdk

3. Inicializar el SDK

El artefacto de regla se descarga durante el paso de inicialización del SDK. Puede personalizar el paso de inicialización para determinar cómo se descarga y utiliza el artefacto.

Node.js
code language-js line-numbers
const TargetClient = require("@adobe/target-nodejs-sdk");

const CONFIG = {
   client: "<your target client code>",
   organizationId: "your EC org id",
   decisioningMethod: "on-device",
   events: {
      clientReady: targetClientReady
      }
};

const tClient = TargetClient.create(CONFIG);

function targetClientReady() {
   //Adobe Target SDK has now downloaded the JSON artifact locally, which contains the activity details.
   //We will see how to use the artifact here very soon.
}
Java (Maven)
code language-javascript line-numbers
ClientConfig config = ClientConfig.builder()
   .client("testClient")
   .organizationId("ABCDEF012345677890ABCDEF0@AdobeOrg")
   .build();
TargetClient targetClient = TargetClient.create(config);
.NET (C#)
code language-csharp line-numbers
var targetClientConfig = new TargetClientConfig.Builder("testClient", "ABCDEF012345677890ABCDEF0@AdobeOrg")
   .Build();
this.targetClient.Initialize(targetClientConfig);
Python
code language-python line-numbers
from target_python_sdk import TargetClient

def target_client_ready():
   # Adobe Target SDK has now downloaded the JSON artifact locally, which contains the activity details.
   # We will see how to use the artifact here very soon.

CONFIG = {
   "client": "<your target client code>",
   "organization_id": "your EC org id",
   "decisioning_method": "on-device",
   "events": {
      "client_ready": target_client_ready
   }
}

target_client = TargetClient.create(CONFIG)

4. Configure los indicadores de funcionalidades en una Adobe Target Prueba A/B actividad

  1. Entrada Target, vaya al Actividades página, luego seleccione Crear actividad > Prueba A/B.

    imagen alt

  2. En el Crear actividad de prueba A/B modal, deje seleccionada la opción web predeterminada (1), seleccione Form como compositor de experiencias (2), seleccione Workspace predeterminado con Sin restricciones de propiedad(3) y haga clic en Siguiente (4).

    imagen alt

  3. En el Experiencias Paso de creación de la actividad, proporcione un nombre para su actividad (1) y añada una segunda experiencia, Experiencia B, haciendo clic en Añadir experiencia (2). Introduzca el nombre de la ubicación que elija (3). Por ejemplo, ondevice-featureflag o homepage-addtocart-featureflag son nombres de ubicación que indican los destinos de las pruebas de indicadores de características. En el ejemplo que se muestra a continuación, ondevice-featureflag es la ubicación definida para la Experiencia B. Opcionalmente, puede añadir Refinamientos de audiencia (4) para restringir la calificación a la actividad.

    imagen alt

  4. En el CONTENIDO en la misma página, seleccione Crear oferta JSON en la lista desplegable (1) como se muestra.

    imagen alt

  5. En el Datos JSON En el cuadro de texto que aparece, escriba las variables de indicador de funciones para cada experiencia (1), utilizando un objeto JSON válido (2).

    Introduzca las variables de indicador de funcionalidad para la Experiencia A.

    imagen alt

    (Ejemplo de JSON para la Experiencia A anterior)

    code language-json line-numbers
       {
       "enabled" : true,
       "flag" : "expA"
    }
    

    Introduzca las variables de indicador de funciones para la Experiencia B.

    imagen alt

    (Ejemplo de JSON para la Experiencia B anterior)

    code language-json line-numbers
       {
       "enabled" : true,
       "flag" : "expB"
    }
    
  6. Clic Siguiente (1) para avanzar a la Segmentación paso de creación de la actividad.

    imagen alt

  7. En el Segmentación El ejemplo de paso que se muestra a continuación, Segmentación de audiencia (2) permanece en el conjunto predeterminado de Todos los visitantes, para simplificar. Esto significa que la actividad no está dirigida. Sin embargo, tenga en cuenta que el Adobe recomienda segmentar siempre las audiencias para las actividades de producción. Clic Siguiente (3) para avanzar a la Objetivos y configuración paso de creación de la actividad.

    imagen alt

  8. En el Objetivos y configuración paso, establecer Fuente de informes hasta Adobe Target (1). Defina el Métrica de objetivo as Conversión, especificando los detalles según las métricas de conversión del sitio (2). Clic Guardar y cerrar (3) para guardar la actividad.

    imagen alt

5. Implementar y procesar la función en la aplicación

Después de configurar las variables de indicador de funcionalidad en Target, modifique el código de la aplicación para utilizarlos. Por ejemplo, después de obtener la marca de características en la aplicación, puede utilizarla para habilitar características y procesar la experiencia para la que el visitante cumple los requisitos.

Node.js
code language-js line-numbers
//... Code removed for brevity
​
let featureFlags = {};
​
function targetClientReady() {
   tClient.getAttributes(["ondevice-featureflag"]).then(function(response) {
      const featureFlags = response.asObject("ondevice-featureflag");
      if(featureFlags.enabled && featureFlags.flag !== "expA") { //Assuming "expA" is control
         console.log("Render alternate experience" + featureFlags.flag);
      }
      else {
         console.log("Render default experience");
      }
   });
}
Java (Maven)
code language-javascript line-numbers
MboxRequest mbox = new MboxRequest().name("ondevice-featureflag").index(0);
TargetDeliveryRequest request = TargetDeliveryRequest.builder()
   .context(new Context().channel(ChannelType.WEB))
   .execute(new ExecuteRequest().mboxes(Arrays.asList(mbox)))
   .build();
Attributes attributes = targetClient.getAttributes(request, "ondevice-featureflag");
String flag = attributes.getString("ondevice-featureflag", "flag");
.NET (C#)
code language-csharp line-numbers
var mbox = new MboxRequest(index: 0, name: "ondevice-featureflag");
var deliveryRequest = new TargetDeliveryRequest.Builder()
   .SetContext(new Context(ChannelType.Web))
   .SetExecute(new ExecuteRequest(mboxes: new List<MboxRequest> { mbox }))
   .Build();
var attributes = targetClient.GetAttributes(request, "ondevice-featureflag");
var flag = attributes.GetString("ondevice-featureflag", "flag");
Python
code language-python line-numbers
# ... Code removed for brevity

feature_flags = {}

def target_client_ready():
   attribute_provider = target_client.get_attributes(["ondevice-featureflag"])
   feature_flags = attribute_provider.as_object(mbox_name="ondevice-featureflag")
   if feature_flags.get("enabled") and feature_flags.get("flag") != "expA": # Assuming "expA" is control
      print("Render alternate experience {}".format(feature_flags.get("flag")))
   else:
      print("Render default experience")

6. Implemente un seguimiento adicional para los eventos de su aplicación

Opcionalmente, puede enviar eventos adicionales para rastrear conversiones mediante la función sendNotification().

Node.js
code language-js line-numbers
//... Code removed for brevity
​
//When a conversion happens
TargetClient.sendNotifications({
   targetCookie,
   "request" : {
      "notifications" : [
      {
         type: "display",
         timestamp : Date.now(),
         id: "conversion",
         mbox : {
            name : "orderConfirm"
         },
         order : {
            id: "BR9389",
            total : 98.93,
            purchasedProductIds : ["J9393", "3DJJ3"]
         }
      }
      ]
   }
})
Java (Maven)
code language-javascript line-numbers
Notification notification = new Notification();
notification.setId("conversion");
notification.setImpressionId(UUID.randomUUID().toString());
notification.setType(MetricType.DISPLAY);
notification.setTimestamp(System.currentTimeMillis());
Order order = new Order("BR9389");
order.total(98.93);
order.purchasedProductIds(["J9393", "3DJJ3"]);
notification.setOrder(order);

TargetDeliveryRequest notificationRequest =
   TargetDeliveryRequest.builder()
      .context(new Context().channel(ChannelType.WEB))
      .notifications(Collections.singletonList(notification))
      .build();

NotificationDeliveryService notificationDeliveryService = new NotificationDeliveryService();
notificationDeliveryService.sendNotification(notificationRequest);
.NET (C#)
code language-csharp line-numbers
var order = new Order
{
   Id = "BR9389",
   Total = 98.93M,
   PurchasedProductIds = new List<string> { "J9393", "3DJJ3" },
};
​
var notification = new Notification
{
   Id = "conversion",
   ImpressionId = Guid.NewGuid().ToString(),
   Type = MetricType.Display,
   Timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
   Order = order,
};
​
var notificationRequest = new TargetDeliveryRequest.Builder()
   .SetContext(new Context(ChannelType.Web))
   .SetNotifications(new List<Notification> {notification})
   .Build();
​
targetClient.SendNotifications(notificationRequest);
Python
code language-python line-numbers
# ... Code removed for brevity

# When a conversion happens
notification_mbox = NotificationMbox(name="orderConfirm")
order = Order(id="BR9389, total=98.93, purchased_product_ids=["J9393", "3DJJ3"])
notification = Notification(
   id="conversion",
   type=MetricType.DISPLAY,
   timestamp=1621530726000,  # Epoch time in milliseconds
   mbox=notification_mbox,
   order=order
)
notification_request = DeliveryRequest(notifications=[notification])


target_client.send_notifications({
   "target_cookie": target_cookie,
   "request" : notification_request
})

7. Active el Prueba A/B actividad

  1. Clic Activar (1) para activar su Prueba A/B actividad.

    note note
    NOTE
    Debe tener el Aprobador o Editor función de usuario para realizar este paso.

    imagen alt

recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3