プリフェッチ

プリフェッチを使用すると、モバイルアプリやサーバーなどのクライアントは、複数の mbox またはビューのコンテンツを 1 回のリクエストで取得し、ローカルにキャッシュした後、訪問者が mbox またはビューに訪問した Target きに通知することができます。

プリフェッチを使用する場合、次の用語を理解しておくことが重要です。

フィールド名
説明
prefetch
取得する必要があるが、訪問済みとしてマークしてはいけない mbox とビューのリスト。 Target Edgeは、プリフェッチ配列に存在する mbox またはビューごとに eventToken を返します。
notifications
以前にプリフェッチされ、訪問済みとしてマークする必要があった mbox とビューのリスト。
eventToken
コンテンツがプリフェッチされたときに返される、ハッシュ化された暗号化トークン。 このトークンは、notifications 配列の Target に送り返される必要があります。

Mbox をプリフェッチ

モバイルアプリやサーバーなどのクライアントでは、セッション内の特定の訪問者に対して複数の mbox をプリフェッチし、それらをキャッシュして、Adobe Target Delivery API への複数の呼び出しを回避できます。

curl -X POST \
'https://demo.tt.omtrdc.net/rest/v1/delivery?client=demo&sessionId=7abf6304b2714215b1fd39a870f01afc#1555632114' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-d '
{
  "id": {
    "tntId": "abcdefghijkl00023.1_1"
  },
  "context": {
    "channel": "web",
    "browser" : {
      "host" : "demo"
    },
    "address" : {
      "url" : "http://demo.dev.tt-demo.com/demo/store/index.html"
    },
    "screen" : {
      "width" : 1200,
      "height": 1400
    }
  },
    "prefetch": {
    "mboxes" : [
      {
        "name" : "SummerOffer",
        "index" : 1
      },
      {
        "name" : "SummerShoesOffer",
        "index" : 2
      },
      {
        "name" : "SummerDressOffer",
        "index" : 3
      }
    ]
  }
}'

prefetch」フィールド内に、セッション内の訪問者に mboxes して少なくとも 1 回プリフェッチする 1 つ以上のリクエストを追加します。 これらの mboxes ータをプリフェッチすると、次の応答が返されます。

{
    "status": 200,
    "requestId": "5efee0d8-3779-4b12-a74e-e04848faf191",
    "client": "demo",
    "id": {
        "tntId": "abcdefghijkl00023.1_1"
    },
    "edgeHost": "mboxedge28.tt.omtrdc.net",
    "prefetch": {
        "mboxes": [
            {
                "index": 1,
                "name": "SummerOffer",
                "options": [
                    {
                        "content": "<p><b>Enjoy this 15% discount on your next purchase</b></p>",
                        "type": "html",
                        "eventToken": "GcvBXDhdJFNR9E9r1tgjfmqipfsIHvVzTQxHolz2IpSCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q==",
                    }
                ]
            },
            {
                "index": 2,
                "name": "SummerShoesOffer",
                "options": [
                    {
                        "content": "<p><b>Enjoy this 15% discount on your next shoe purchase</b></p>"
                        "type": "html",
                        "eventToken": "GcvBXDhdJFNR9E9r1tgjfmqipfsIHvVzTQxHolz2IpSCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q==",
                    }
                ]
            },
            {
                "index": 3,
                "name": "SummerDressOffer",
                "options": [
                    {
                        "content": "<p><b>Enjoy this 15% discount on your next dress purchase</b></p>"
                        "type": "html",
                        "eventToken": "GcvBXDhdJFNR9E9r1tgjfmqipfsIHvVzTQxHolz2IpSCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q==",
                    }
                ]
            }
        ]
    }
}

応答内には、特定の mbox ーザーの訪問者に表示するエクスペリエンスを含む content フィールドが表示されます。 これは、サーバーにキャッシュされている場合に非常に便利です。訪問者がセッション内で web アプリケーションやモバイルアプリケーションを操作し、アプリケーションの特定のページで mbox を訪問すると、別の Adobe Target Delivery API 呼び出しを行う代わりに、キャッシュからエクスペリエンスを配信できます。 ただし、エクスペリエンスが mbox ージから訪問者に配信されると、配信 API 呼び出しを介してエクスペリ notification ンスが送信され、インプレッションログが発生します。 これは、prefetch 呼び出しの応答がキャッシュされ、訪問者が prefetch 呼び出し発生時にエクスペリエンスを確認していないためです。 notification のプロセスについて詳しくは、 通知を参照してください。

Analytics for Target を使用する際の clickTrack 指標を含む mbox のプリフェッチ(A4T)

Adobe Analytics for Target (A4T)は、コンバージョン指標とオーディエンスセグメントに基づいてアクティビティを作成でき Analytics クロスソリューション統合環境です。

次のコードスニペットは、オファーがクリックされたことを Analytics ーザーに通知する、clickTrack の指標を含む mbox のプリフェッチからの応答です。

{
  "prefetch": {
    "mboxes": [
      {
        "index": 0,
        "name": "<mboxName>",
        "options": [
           ...
        ],
        "metrics": [
          {
            "type": "click",
            "eventToken": "<eventToken>",
             "analytics": {
               "payload": {
                 "pe": "tnt",
                 "tnta": "..."
               }
             }
          },
          }
        ],
        "analytics": {
          "payload": {
            "pe": "tnt",
            "tnta": "347565:1:0|2,347565:1:0|1"
          }
        }
      }
    ]
  }
}
NOTE
mbox のプリフェッチには、該当するアクティビティのみの Analytics ペイロードが含まれます。 まだ選定されていないアクティビティの成功指標をプリフェッチすると、レポートに不整合が生じます。

ビューをプリフェッチ

ビューは、シングルページアプリケーション(SPA)とモバイルアプリケーションをよりシームレスにサポートします。 ビューは、SPA エクスペリエンスまたはモバイルエクスペリエンスを構成するビジュアル要素の論理的なグループと見なすことができます。 これで、配信 API を通じて、VEC で作成した A/B Test アクティビティと、SPAのビューに変更を加えた Experience Targeting (X) T アクティビティをプリフェッチできるようになりました。

curl -X POST \
  'https://demo.tt.omtrdc.net/rest/v1/delivery?client=demo&sessionId=a3e7368c62d944c0855d424cd7a03ab0' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
  "id": {
    "tntId": "84e8d0e211054f18af365d65f45e902b.28_131"
  },
  "context": {
    "channel": "web",
    "window": {
      "width": 1819,
      "height": 842
    },
    "browser": {
      "host": "target.enablementadobe.com"
    },
    "address": {
      "url": "https://target.enablementadobe.com/react/demo/#/"
    }
  },
  "prefetch": {
    "views": [{}]
  }
}'

上記の呼び出し例では、SPA VEC で作成されたすべてのビュー(A/B Test アクティビティと XT アクティビティ)をプリフェッチし、Web channel ージに表示します。 この呼び出しによって、tntId:84e8d0e211054f18af365d65f45e902b.28_131 を持つ訪問者が url:https://target.enablementadobe.com/react/demo/#/ を訪問した際に適格となる、A/B Test または XT アクティビティのすべてのビューがプリフェッチされることに注意してください。

{
    "status": 200,
    "requestId": "14ce028e-d2d2-4504-b3da-32740fa8dd61",
    "client": "demo",
    "id": {
        "tntId": "84e8d0e211054f18af365d65f45e902b.28_131"
    },
    "edgeHost": "mboxedge28.tt.omtrdc.net",
    "prefetch": {
        "views": [
            {
                "id": 228,
                "name": "checkout-express",
                "key": "checkout-express",
                "state": "Vqfb6kYGAmzWOLf9W6E+Q/0LyS+SYe2h5tuTXzRNnkjKkZaZZr2ijp41/6AwK6fdFgADhFNC7l5efUCs9shgTw==",
                "options": [
                    {
                        "content": [
                            {
                                "type": "setHtml",
                                "selector": "#app > DIV:nth-of-type(1) > DIV:nth-of-type(2) > SECTION.section:eq(0) > DIV.container:eq(0) > FORM.col-md-4:eq(0) > DIV:nth-of-type(1) > DIV.mb-3:eq(2)",
                                "cssSelector": "#app > DIV:nth-of-type(1) > DIV:nth-of-type(2) > SECTION:nth-of-type(1) > DIV:nth-of-type(1) > FORM:nth-of-type(2) > DIV:nth-of-type(1) > DIV:nth-of-type(3)",
                                "content": "<span style=\"color:#000080;\"><strong>*We charge an additional fee of $12.34 for faster delivery. If you choose express delivery get 15% off on your next order.</strong></span>"
                            }
                        ],
                        "type": "actions",
                        "eventToken": "N3C13I0M2PH8iaKtONJlFJNWHtnQtQrJfmRrQugEa2qCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q=="
                    }
                ]
            },
            {
                "id": 5,
                "name": "home",
                "key": "home",
                "state": "Vqfb6kYGAmzWOLf9W6E+Q/0LyS+SYe2h5tuTXzRNnkjKkZaZZr2ijp41/6AwK6fdFgADhFNC7l5efUCs9shgTw==",
                "options": [
                    {
                        "content": [
                            {
                                "type": "setHtml",
                                "selector": "#app > DIV:nth-of-type(1) > DIV:nth-of-type(2) > SECTION.section:eq(0) > DIV.container:eq(1) > DIV.heading:eq(0) > H1.title:eq(0)",
                                "cssSelector": "#app > DIV:nth-of-type(1) > DIV:nth-of-type(2) > SECTION:nth-of-type(1) > DIV:nth-of-type(2) > DIV:nth-of-type(1) > H1:nth-of-type(1)",
                                "content": "<span style=\"color:#800000;\"><strong>Trending Items</strong></span>"
                            }
                        ],
                        "type": "actions",
                        "eventToken": "N3C13I0M2PH8iaKtONJlFJNWHtnQtQrJfmRrQugEa2qCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q=="
                    }
                ]
            },
            {
                "id": 6,
                "name": "products",
                "key": "products",
                "state": "Vqfb6kYGAmzWOLf9W6E+Q/0LyS+SYe2h5tuTXzRNnkjKkZaZZr2ijp41/6AwK6fdFgADhFNC7l5efUCs9shgTw==",
                "options": [
                    {
                        "content": [
                            {
                                "type": "setStyle",
                                "selector": "#app > DIV:nth-of-type(1) > DIV:nth-of-type(2) > SECTION.section:eq(0) > DIV.container:eq(0) > DIV.heading:eq(0) > BUTTON.btn:eq(0)",
                                "cssSelector": "#app > DIV:nth-of-type(1) > DIV:nth-of-type(2) > SECTION:nth-of-type(1) > DIV:nth-of-type(1) > DIV:nth-of-type(1) > BUTTON:nth-of-type(1)",
                                "content": {
                                    "background-color": "rgba(191,0,0,1)",
                                    "priority": "important"
                                }
                            }
                        ],
                        "type": "actions",
                        "eventToken": "N3C13I0M2PH8iaKtONJlFJNWHtnQtQrJfmRrQugEa2qCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q=="
                    }
                ]
            }
        ]
    }
}

応答の content のフィールドに、typeselectorcssSelectorcontent などのメタデータをメモします。これらのメタデータは、ユーザーがページに訪問したときに訪問者にエクスペリエンスをレンダリングするために使用されます。 必要に応じて、prefetched コンテンツをキャッシュしてユーザーにレンダリングできます。

recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3