Eventi SDK (Java)

Descrizione

Quando si inizializza l'SDK, è possibile fornire un oggetto OnDeviceDecisioningHandler facoltativo sull'oggetto ClientConfig. Può essere utilizzato per abbonarsi a vari eventi che si verificano all'interno dell'SDK. Ad esempio, l'evento onDeviceDecisioningReady può essere utilizzato con una funzione di callback che verrà richiamata quando l'SDK sarà pronto per le chiamate ai metodi.

Eventi

L'oggetto OnDeviceDecisioningHandler contiene i seguenti callback, chiamati per determinati eventi:

Nome
Argomenti
Descrizione
onDeviceDecisioningReady
None (Nessuno)
Chiamata eseguita solo una volta la prima volta che il client è pronto per on-device decisioning
artifactDownloadSucceeded
byte[] contenuto del file di artefatto
Chiamata eseguita ogni volta che viene scaricato un artefatto on-device decisioning
artifactDownloadFailed
Eccezione
Chiamata eseguita ogni volta che non è possibile scaricare un artefatto on-device decisioning

Esempio

Eventi 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