Erste Schritte mit Target SDKs

Damit Sie richtig arbeiten können, empfehlen wir Ihnen, Ihre erste on-device decisioning Funktionsmarkierungsaktivität in der Sprache Ihrer Wahl:

  • Node.js
  • Java
  • .NET
  • Python

Zusammenfassung der Schritte

  1. Aktivieren der geräteübergreifenden Entscheidungsfindung für Ihre Organisation
  2. SDK installieren
  3. Initialisieren des SDK
  4. Richten Sie die Funktionsmarkierungen in einem Adobe Target A/B-Test activity
  5. Funktion in Ihre Anwendung implementieren und rendern
  6. Implementieren des Trackings für Ereignisse in Ihrer Anwendung
  7. Aktivieren Ihrer A/B-Test activity

1. Aktivieren Sie die Entscheidungsfindung auf dem Gerät für Ihre Organisation

Durch die Aktivierung der Entscheidungsfindung auf dem Gerät wird eine A/B-Test -Aktivität wird mit einer Latenz von nahezu null ausgeführt. Navigieren Sie zur Aktivierung dieser Funktion zu Administration > Implementierung > Kontodetails und aktivieren Sie die On-Device Decisioning umschalten.

ALT-Bild

NOTE
Sie müssen über die Admin oder Genehmiger Benutzerrolle , um die On-Device Decisioning umschalten.

Nach der Aktivierung der On-Device Decisioning Umschalten, Adobe Target beginnt zu generieren ruleArtefakte für Ihren Client.

2. Installieren des SDK

Führen Sie für Node.js, Java und Python den folgenden Befehl in Ihrem Projektverzeichnis im Terminal aus. Fügen Sie es für .NET als Abhängigkeit von Installieren von 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. Initialisieren des SDK

Das Regelartefakt wird während des Initialisierungsschritts des SDK heruntergeladen. Sie können den Initialisierungsschritt anpassen, um zu bestimmen, wie das Artefakt heruntergeladen und verwendet wird.

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. Richten Sie die Feature Flags in ein Adobe Target A/B-Test activity

  1. In Target, navigieren Sie zum Tätigkeiten Seite und wählen Sie Aktivität erstellen > A/B-Test.

    ALT-Bild

  2. Im A/B-Test-Aktivität erstellen modal, lassen Sie die Standardoption Web ausgewählt (1), wählen Sie Formular Wählen Sie als Experience Composer (2) Standardarbeitsbereich mit Keine Eigenschaftenbeschränkungen(3) und klicken Sie auf Nächste 4.

    ALT-Bild

  3. Im Erlebnisse Schritt der Aktivitätserstellung einen Namen für Ihre Aktivität angeben (1) und ein zweites Erlebnis, Erlebnis B, hinzufügen, indem Sie auf Erlebnis hinzufügen Absatz 2. Geben Sie den Ortsnamen Ihrer Wahl ein (3). Beispiel: ondevice-featureflag oder homepage-addtocart-featureflag sind Ortsnamen, die die Ziele für Feature Flag-Tests angeben. Im folgenden Beispiel: ondevice-featureflag ist der für Erlebnis B definierte Ort. Optional können Sie Zielgruppenverfeinerungen (4) hinzufügen, um die Qualifizierung auf die Aktivität zu beschränken.

    ALT-Bild

  4. Im Inhalt auf derselben Seite ein und wählen Sie JSON-Angebot erstellen in der Dropdown-Liste (1) angezeigt.

    ALT-Bild

  5. Im JSON-Daten in das Textfeld ein, geben Sie Ihre Funktionsmarkierungsvariablen für jedes Erlebnis (1) ein und verwenden Sie ein gültiges JSON-Objekt (2).

    Geben Sie die Variablen für die Funktionskennzeichnung für Erlebnis A ein.

    ALT-Bild

    (Beispiel-JSON für Erlebnis A oben)

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

    Geben Sie die Variablen für das Feature Flag für Erlebnis B ein.

    ALT-Bild

    (Beispiel-JSON für Erlebnis B oben)

    code language-json line-numbers
       {
       "enabled" : true,
       "flag" : "expB"
    }
    
  6. Klicks Nächste 1. Targeting Schritt der Aktivitätserstellung.

    ALT-Bild

  7. Im Targeting Beispiel für einen Schritt unten gezeigt, bleibt das Zielgruppen-Targeting (2) aus Gründen der Einfachheit im Standardsatz Alle Besucher enthalten. Dies bedeutet, dass die Aktivität nicht zielgerichtet ist. Beachten Sie jedoch, dass Sie in der Adobe immer Zielgruppen für Produktionsaktivitäten auswählen sollten. Klicks Nächste 3. Ziele und Einstellungen Schritt der Aktivitätserstellung.

    ALT-Bild

  8. Im Ziele und Einstellungen Schritt, festlegen Berichtsquelle nach Adobe Target Absatz 1. Definieren Sie die Zielmetrik as Konversion, wobei die Details auf Grundlage der Konversionsmetriken Ihrer Site (2) angegeben werden. Klicks Speichern und schließen (3) , um die Aktivität zu speichern.

    ALT-Bild

5. Implementieren und Rendern der Funktion in Ihrer Anwendung

Nach dem Einrichten der Feature Flag-Variablen in Targetändern Sie den Anwendungs-Code, um ihn zu verwenden. Nachdem Sie beispielsweise das Feature Flag in der Anwendung erhalten haben, können Sie damit Funktionen aktivieren und das Erlebnis rendern, für das sich der Besucher qualifiziert hat.

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. Implementieren Sie zusätzliches Tracking für Ereignisse in Ihrer Anwendung

Optional können Sie mithilfe der Funktion sendNotification() zusätzliche Ereignisse zum Verfolgen von Konversionen senden.

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. Aktivieren Sie Ihre A/B-Test activity

  1. Klicks Aktivieren (1) zur Aktivierung Ihrer A/B-Test -Aktivität.

    note note
    NOTE
    Sie müssen über die Genehmiger oder Herausgeber Benutzerrolle , um diesen Schritt durchzuführen.

    ALT-Bild

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