SDK事件(Java)
最後更新: 2024年7月20日
建立對象:
- undefined
說明
當初始化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);
}