SDK 이벤트(Java)

설명

SDK를 초기화할 때 선택적 OnDeviceDecisioningHandler 개체가 ClientConfig 개체에 제공될 수 있습니다. SDK 내에서 발생하는 다양한 이벤트를 구독하는 데 사용할 수 있습니다. 예를 들어 onDeviceDecisioningReady 이벤트는 SDK에서 메서드 호출을 수행할 준비가 되었을 때 호출되는 콜백 함수와 함께 사용할 수 있습니다.

이벤트

OnDeviceDecisioningHandler 개체에 특정 이벤트에 대해 호출되는 다음 콜백이 포함되어 있습니다.

이름
인수
설명
onDeviceDecisionReady
없음
클라이언트가 on-device decisioning에 대해 처음 준비될 때 한 번만 호출됩니다.
artifactDownloadSucceeded
아티팩트 파일의 바이트[] 내용
on-device decisioning 아티팩트가 다운로드될 때마다 호출됩니다.
artifactDownloadFailed
예외
on-device decisioning 아티팩트를 다운로드하지 못할 때마다 호출됩니다.

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