SDK-Ereignisse (Java)

Beschreibung

Beim Initialisieren der SDK kann ein optionales OnDeviceDecisioningHandler-Objekt für das ClientConfig bereitgestellt werden. Sie kann verwendet werden, um verschiedene Ereignisse zu abonnieren, die innerhalb der SDK auftreten. Beispielsweise kann das onDeviceDecisioningReady-Ereignis mit einer Rückruffunktion verwendet werden, die aufgerufen wird, wenn die SDK für Methodenaufrufe bereit ist.

Ereignis-

Das OnDeviceDecisioningHandler-Objekt enthält die folgenden Callbacks, die für bestimmte Ereignisse aufgerufen werden:

Name
Argumente
Beschreibung
onDeviceDecisioningReady
Keine
Wird nur aufgerufen, wenn der Client zum ersten Mal on-device decisioning ist
artifactDownload erfolgreich
byte[] Inhalt der Artefaktdatei
Wird jedes Mal aufgerufen, wenn ein on-device decisioning-Artefakt heruntergeladen wird
artifactDownload fehlgeschlagen
Ausnahme
Wird jedes Mal aufgerufen, wenn ein on-device decisioning-Artefakt nicht heruntergeladen werden kann

Beispiel

SDK-Ereignisse

ClientConfig clientConfig = ClientConfig.builder()
        .client("acmeclient")
        .organizationId("1234567890@AdobeOrg")
        .defaultDecisioningMethod(DecisioningMethod.ON_DEVICE)
        .onDeviceDecisioningHandler(new OnDeviceDecisioningHandler() {
            @Override
            public void onDeviceDecisioningReady() {
                // make getOffers requests
                makeTargetRequests();
            }

            @Override
            public void artifactDownloadSucceeded(byte[] artifactData) {
                System.out.println("The artifact was successfully downloaded.");
            }

            @Override
            public void artifactDownloadFailed(TargetClientException e) {
                System.out.println("The artifact failed to download.");
            }
        }).build();

TargetClient targetJavaClient = TargetClient.create(clientConfig);


void makeTargetRequests() {
    List<MboxRequest> mboxRequests = new ArrayList<>();
    mboxRequests.add((MboxRequest) new MboxRequest().name("a1-serverside-ab").index(1));

    TargetDeliveryRequest targetDeliveryRequest = TargetDeliveryRequest.builder()
            .context(new Context().channel(ChannelType.WEB))
            .execute(new ExecuteRequest().setMboxes(mboxRequests))
            .build();

    TargetDeliveryResponse targetResponse = targetJavaClient.getOffers(targetDeliveryRequest);
}
recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3