Événements SDK (Java)

Description

When initialisation du SDK, facultatif OnDeviceDecisioningHandler 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, la variable 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

La variable 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 la première fois prise de décision sur appareil
artifactDownloadSucceeded
byte[] contenu du fichier d’artefact
Appelé chaque fois qu’un prise de décision sur appareil artifact est téléchargé
artifactDownloadFailed
Exception
Appelé chaque fois qu’il y a un échec de téléchargement d’une prise de décision sur appareil artifact

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