Eventi SDK (Java)

Descrizione

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

Eventi

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

Nome
Argomenti
Descrizione
onDeviceDecisioningReady
None (Nessuno)
Chiamata eseguita una sola volta la prima volta che il client è pronto per decisioning sul dispositivo
artifactDownloadSucceeded
byte[] contenuto del file artefatto
Chiamato ogni volta che un decisioning sul dispositivo artefatto scaricato
artifactDownloadFailed
Eccezione
Chiamata eseguita ogni volta che si verifica un errore durante il download di un decisioning sul dispositivo artefatto

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