Événements SDK (Java)

Description

Lorsque initialise le SDK, un objet OnDeviceDecisioningHandler facultatif peut être fourni sur l’objet ClientConfig. Il peut être utilisé pour s’abonner à divers événements qui se produisent dans le SDK. Par exemple, l’événement onDeviceDecisioningReady peut être utilisé avec une fonction de rappel qui sera appelée lorsque le SDK est prêt pour les appels de méthode.

Requête

L’objet OnDeviceDecisioningHandler contient les rappels suivants, qui sont appelés pour certains événements :

Nom
Arguments
Description
onDeviceDecisioningReady
None
Appelé une seule fois que le client est prêt pour on-device decisioning
artifactDownloadSucceeded
contenu byte[] du fichier d’artefact
Appelé à chaque téléchargement d’un artefact on-device decisioning
artifactDownloadFailed
Exception
Appelé chaque fois qu’il y a un échec de téléchargement d’un artefact on-device decisioning

Exemple

Événements SDK

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