SDK事件(Java)
說明
當初始化SDK時,ClientConfig
物件上可提供選用的OnDeviceDecisioningHandler
物件。 可用來訂閱SDK內發生的各種事件。 例如,onDeviceDecisioningReady
事件可與SDK準備好進行方法呼叫時將叫用的回呼函式搭配使用。
事件
OnDeviceDecisioningHandler
物件包含下列為特定事件呼叫的回呼:
名稱
引數
說明
DevicedecisioningReady
無
使用者端第一次準備好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