Eventos de SDK (Java)

Descripción

Al inicializar el SDK, se puede proporcionar un objeto OnDeviceDecisioningHandler opcional en el objeto ClientConfig. Se puede utilizar para suscribirse a varios eventos que se producen dentro del SDK. Por ejemplo, el evento onDeviceDecisioningReady se puede usar con una función de llamada de retorno que se invocará cuando el SDK esté listo para las llamadas de método.

Solicitud

El objeto OnDeviceDecisioningHandler contiene las siguientes llamadas de retorno, a las que se llama para determinados eventos:

Nombre
Argumentos
Descripción
onDeviceDecisioningReady
Ninguna
Solo se llamó una vez la primera vez que el cliente está listo para on-device decisioning
artifactDownloadSucceeded
contenido de byte[] del archivo de artefactos
Se llama cada vez que se descarga un artefacto on-device decisioning
artifactDownloadFailed
Excepción
Se llama cada vez que se produce un error al descargar un artefacto on-device decisioning

Ejemplo

Eventos de 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