설명서Target 개발자 안내서

알림 보내기(Java)

마지막 업데이트: 2024년 7월 20일
  • 주제:
  • APIs/SDKs

작성 대상:

  • 개발자

설명

sendNotifications()은(는) 측정 및 보고를 위해 Adobe Target에게 디스플레이 또는 클릭 알림을 보내는 데 사용됩니다.

NOTE
필수 매개 변수가 있는 execute 개체가 요청 자체에 있으면 자격 있는 활동에 대해 자동으로 노출이 증가합니다.

노출을 자동으로 증가시키는 SDK 메서드는 다음과 같습니다.

  • getOffers()
  • getAttributes()

요청 내에서 prefetch 개체가 전달되면 prefetch 개체 내에 mbox가 있는 활동에 대한 노출이 자동으로 증가하지 않습니다. sendNotifications()은(는) 노출 및 전환을 늘리기 위해 미리 가져온 경험에 사용해야 합니다.

방법

만들기

ResponseStatus TargetClient.sendNotifications(TargetDeliveryRequest request)

예

먼저 home 및 product1 mbox에 대한 콘텐츠를 미리 가져오기 위한 Target Delivery API 요청을 빌드해 보겠습니다.

미리 가져오기

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);

성공적인 응답에는 요청된 mbox에 대해 미리 가져온 콘텐츠가 포함된 Target Delivery API 응답 개체가 포함됩니다. 샘플 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