傳送通知(Java)
最後更新: 2024年7月20日
建立對象:
- undefined
說明
sendNotifications()
是用來傳送顯示或點選通知給Adobe Target以進行測量和報告。
當具有必要引數的
execute
物件位於請求本身中時,曝光將自動遞增以符合活動資格。會自動增加曝光次數的SDK方法為:
getOffers()
getAttributes()
當在要求中傳遞prefetch
物件時,曝光次數不會自動遞增到具有prefetch
物件中mbox的活動。 sendNotifications()
必須用於預先擷取的體驗,以增加曝光次數和轉換次數。
方法
建立
ResponseStatus TargetClient.sendNotifications(TargetDeliveryRequest request)
範例
首先,讓我們建置Target Delivery API要求,以預先擷取home
和product1
mbox的內容。
預先擷取
List<MboxRequest> mboxRequests = new ArrayList<>();
mboxRequests.add((MboxRequest) new MboxRequest().name("home").index(1));
mboxRequests.add((MboxRequest) new MboxRequest().name("product1").index(2));
PrefetchRequest prefetchMboxesRequest = new PrefetchRequest().setMboxes(mboxRequests)
// Next, we fetch the offers via Target Java SDK getOffers() API
TargetDeliveryResponse targetResponse = targetJavaClient.getOffers(targetDeliveryRequest);
成功的回應將包含Target Delivery API回應物件,其中包含要求mbox的預先擷取內容。 範例targetResponse.response
物件可能如下所示:
回應
{
"status": 200,
"requestId": "e8ac2dbf5f7d4a9f9280f6071f24a01e",
"id": {
"tntId": "08210e2d751a44779b8313e2d2692b96.21_27"
},
"client": "adobetargetmobile",
"edgeHost": "mboxedge21.tt.omtrdc.net",
"prefetch": {
"mboxes": [
{
"index": 0,
"name": "home",
"options": [
{
"type": "html",
"content": "HOME OFFER",
"eventToken": "t0FRvoWosOqHmYL5G18QCZNWHtnQtQrJfmRrQugEa2qCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q==",
"responseTokens": {
"profile.memberlevel": "0",
"geo.city": "dublin",
"activity.id": "302740",
"experience.name": "Experience B",
"geo.country": "ireland"
}
}
],
"state": "J+W1Fq18hxliDDJonTPfV0S+mzxapAO3d14M43EsM9f12A6QaqL+E3XKkRFlmq9U"
},
{
"index": 1,
"name": "product1",
"options": [
{
"type": "html",
"content": "TEST OFFER 1",
"eventToken": "t0FRvoWosOqHmYL5G18QCZNWHtnQtQrJfmRrQugEa2qCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q==",
"responseTokens": {
"profile.memberlevel": "0",
"geo.city": "dublin",
"activity.id": "302740",
"experience.name": "Experience B",
"geo.country": "ireland"
}
}
],
"state": "J+W1Fq18hxliDDJonTPfV0S+mzxapAO3d14M43EsM9f12A6QaqL+E3XKkRFlmq9U"
}
]
}
}
記下Target內容選項中每個的mbox name
和state
欄位,以及eventToken
欄位。 每個內容選項一顯示,即應在sendNotifications()
請求中提供這些選項。 假設product1
mbox已顯示在非瀏覽器裝置上。 通知要求如下:
請求
TargetDeliveryRequest mboxNotificationRequest = TargetDeliveryRequest.builder().notifications(new ArrayList() {{
add(new Notification()
.id("1")
.timestamp(System.currentTimeMillis())
.type(MetricType.DISPLAY)
.mbox(new NotificationMbox()
.name("product1")
.state("J+W1Fq18hxliDDJonTPfV0S+mzxapAO3d14M43EsM9f12A6QaqL+E3XKkRFlmq9U")
)
.tokens(Arrays.asList(new String[]{"t0FRvoWosOqHmYL5G18QCZNWHtnQtQrJfmRrQugEa2qCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q=="}))
);
}}).build();
請注意,我們已在預先擷取回應中納入與已傳遞之Target選件相對應的mbox狀態和事件權杖。 建立通知要求後,我們可以透過sendNotifications()
API方法將其傳送至Target:
回應
ResponseStatus notificationResponse = targetJavaClient.sendNotifications(mboxNotificationRequest);
recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3