adobe.target.getOffers() - at.js 2.x
作成対象:
- 開発者
この関数を使用すると、複数の mbox を渡すことで複数のオファーを取得できます。さらに、アクティブなアクティビティのすべてのビュー向けに複数のオファーを取得できます。
キー | タイプ | 必須? | 説明 |
---|---|---|---|
consumerId | 文字列 | × |
指定しない場合、デフォルト値はクライアントのグローバル mbox です。このキーは、A4T 統合に使用される追加のデータ ID (SDID)を生成するために使用されます。
|
decisioningMethod | 文字列 | × | "server-side"、"on-device"、"hybrid" |
request | オブジェクト | ○ | 下の「リクエスト」の表を参照してください。 |
timeout | 数値 | × | リクエストのタイムアウト。指定しない場合、at.js のデフォルトのタイムアウトが使用されます。 |
リクエスト
フィールド名 | 必須? | 制限事項 | 説明 |
---|---|---|---|
request > id | × | tntId 、thirdPartyId 、または marketingCloudVisitorId のいずれか 1 つが必須です。 | |
Request > id > thirdPartyId | × | 最大サイズ = 128。 | |
Request > experienceCloud | × | ||
Request > experienceCloud > analytics | × | Adobe Analytics の統合 | |
Request > experienceCloud > analytics > logging | × |
以下をページに実装する必要があります。
|
次の値がサポートされています。 client_side:指定すると、分析ペイロードが呼び出し元に返されます。これは Data Insertion API 経由で Adobe Analytics に送信するために使用する必要があります。 server_side: これはデフォルト値で、TargetとAnalytics バックエンドが SDID を使用してレポート目的で呼び出しをステッチします。 |
Request > prefetch | × | ||
Request > prefetch > views | × |
最大数は 50 です。 名前が空白ではありません。 名前の長さ 値の長さ 名前を「profile」で始めないでください。 | アクティブなアクティビティで関連するビューを取得するために使用するパラメーターを渡します。 |
Request > prefetch > views > profileParameters | × |
最大値は 50 です。 名前が空白ではありません。 名前の長さ 値の長さ 文字列値のみを使用できます。 名前を「profile」で始めないでください。 | アクティブなアクティビティで関連するビューを取得するために使用するプロファイルパラメーターを渡します。 |
Request > prefetch > views > product | × | ||
Request > prefetch > views > product -> id | × |
空白ではありません。 最大サイズ = 128。 | アクティブなアクティビティで関連するビューを取得するために使用する製品 ID を渡します。 |
Request > prefetch > views > product > categoryId | × |
空白ではありません。 最大サイズ = 128。 | アクティビティ内の関連するビューを取得するために使用する製品カテゴリ ID を渡します。 |
Request > prefetch > views > order | × | ||
Request > prefetch > views > order > id | × | 最大長= 250。 | アクティブなアクティビティで関連するビューを取得するために使用する注文 ID を渡します。 |
Request > prefetch > views > order > total | × | 合計 >= 0。 | アクティブなアクティビティで関連するビューを取得するために使用する注文の合計を渡します。 |
Request > prefetch > views > order > purchasedProductIds | × |
空白の値はありません。 各値の最大長は 50 です。 コンマで連結および区切ります。 商品 ID の長さ | アクティブなアクティビティで関連するビューを取得するために使用する 購入製品の ID を渡します。 |
Request > execute | × | ||
Request > execute > pageLoad | × | ||
Request > execute > pageLoad
| × |
最大数は 50 です。 名前が空白ではありません。 名前の長さ 値の長さ 文字列値のみを使用できます。 名前を「profile」で始めないでください。 使用できない名前:「orderId」、「orderTotal」、「productPurchasedId」。 | ページ読み込み時に、指定されたパラメーターを使用してオファーを取得します。 |
Request > execute > pageLoad
| × |
最大数は 50 です。 名前が空白ではありません。 名前の長さ 値の長さ 名前を「profile」で始めないでください。 文字列値のみを使用できます。 | ページ読み込み時に、指定されたプロファイルパラメーターを使用してオファーを取得します。 |
Request > execute > pageLoad
| × | ||
Request > execute > pageLoad
| × |
空白ではありません。 最大サイズ = 128。 | ページ読み込み時に、指定された製品 ID を使用してオファーを取得します。 |
Request > execute > pageLoad
| × |
空白ではありません。 最大サイズ = 128。 | ページ読み込み時に、指定された製品カテゴリー ID を使用してオファーを取得します。 |
Request > execute > pageLoad
| × | ||
Request > execute > pageLoad
| × | 最大長= 250。 | ページ読み込み時に、指定された注文 ID を使用してオファーを取得します。 |
Request > execute > pageLoad
| × | 0>= 。 | ページ読み込み時に、指定された注文の合計を使用してオファーを取得します。 |
Request > execute > pageLoad
| × |
空白の値はありません。 各値の最大長は 50 です。 コンマで連結および区切ります。 商品 ID の長さ | ページ読み込み時に、指定された購入 ID を使用してオファーを取得します。 |
Request > execute > mboxes | × |
最大サイズ = 50。 null 要素がありません。 | |
Request > execute > mboxes>mbox | ○ |
空白ではありません。 「– クリック」サフィックスはありません。 最大サイズ = 250。 使用できる文字:`'-, ./=:;&!@#$%^&*()+ | ?~[]{}'` |
Request > execute > mboxes>mbox>index | ○ |
null ではありません。 一意。 0 | 注意: インデックスは、mbox が処理される順序を表すものではありません。複数のリージョナル mbox を持つ Web ページと同様、mbox が処理される順序は指定できません。 |
Request > execute > mboxes > mbox > parameters | × |
最大数= 50。 名前が空白ではありません。 名前の長さ 文字列値のみを使用できます。 値の長さ 名前を「profile」で始めないでください。 使用できない名前:「orderId」、「orderTotal」、「productPurchasedId」。 | 指定されたパラメーターを使用して特定の mbox のオファーを取得します。 |
Request > execute > mboxes>mbox>profileParameters | × |
最大数= 50。 名前が空白ではありません。 名前の長さ 文字列値のみを使用できます。 値の長さ 名前を「profile」で始めないでください。 | 指定されたプロファイルパラメーターを使用して特定の mbox のオファーを取得します。 |
Request > execute > mboxes>mbox > product | × | ||
Request > execute > mboxes > mbox > product > id | × |
空白ではありません。 最大サイズ = 128。 | 指定された製品 ID を使用して特定の mbox のオファーを取得します。 |
Request > execute > mboxes > mbox > product > categoryId | × |
空白ではありません。 最大サイズ = 128。 | 指定された製品カテゴリー ID を使用して特定の mbox のオファーを取得します。 |
Request > execute > mboxes > mbox > order | × | ||
Request > execute > mboxes>mbox > order > id | × | 最大長= 250。 | 指定された注文 ID を持つ特定の mbox のオファーを取得します。 |
Request > execute > mboxes > mbox > order > total | × | 0>= 。 | 指定された注文合計を持つ特定の mbox のオファーを取得します。 |
Request > execute > mboxes > mbox > order > purchasedProductIds | × |
空白の値はありません。 各値の最大長= 50。 コンマで連結および区切ります。 製品 ID の全長 | 指定された注文で購入された製品 ID を持つ特定の mbox のオファーを取得します。 |
すべてのビューに getOffers() を呼び出す
adobe.target.getOffers({
request: {
prefetch: {
views: [{}]
}
}
});
getOffers() を呼び出し、オンデバイス判定を行う
adobe.target.getOffers({
decisioningMethod:"on-device",
request: {
execute: {
mboxes: [
{
index: 0,
name: "homepage"
}
]
}
}
});
getOffers() を呼び出し、渡されたパラメーターとプロファイルを使用して最新ビューを取得する
adobe.target.getOffers({
request: {
"prefetch": {
"views": [
{
"parameters": {
"ad": "1"
},
"profileParameters": {
"age": 23
}
}
]
}
}
});
getOffers() を呼び出し、渡されたパラメーターとプロファイルを使用して mbox を取得する
adobe.target.getOffers({
request: {
execute: {
mboxes: [
{
index: 0,
name: "first-mbox"
},
{
index: 1,
name: "second-mbox",
parameters: {
a: 1
},
profileParameters: {
b: 2
}
}
]
}
}
});
getOffers() を呼び出して、クライアント側から分析ペイロードを取得します
adobe.target.getOffers({
request: {
experienceCloud: {
analytics: {
logging: "client_side"
}
},
prefetch: {
mboxes: [{
index: 0,
name: "a1-serverside-xt"
}]
}
}
})
.then(console.log)
応答:
{
"prefetch": {
"mboxes": [{
"index": 0,
"name": "a1-serverside-xt",
"options": [{
"content": "<img src=\"http://s7d2.scene7.com/is/image/TargetAdobeTargetMobile/L4242-xt-usa?tm=1490025518668&fit=constrain&hei=491&wid=980&fmt=png-alpha\"/>",
"type": "html",
"eventToken": "n/K05qdH0MxsiyH4gX05/2qipfsIHvVzTQxHolz2IpSCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q==",
"responseTokens": {
"profile.memberlevel": "0",
"geo.city": "bucharest",
"activity.id": "167169",
"experience.name": "USA Experience",
"geo.country": "romania"
}
}],
"analytics": {
"payload": {
"pe": "tnt",
"tnta": "167169:0:0|0|100,167169:0:0|2|100,167169:0:0|1|100"
}
}
}]
}
}
その後、ペイロードは Data Insertion API を介して Adobe Analytics に転送できます。
getOffers() および applyOffers()を使用した複数の mbox からのデータの取得とレンダリング
at.js 2.x を使用すると、getOffers()
API を使用して複数の mbox を取得できます。複数の mbox のデータを取得して、applyOffers()
CSS セレクターによって識別されるさまざまな場所で、データをレンダリングすることもできます。
次の例は、at.js 2.x を実装した単純な HTML ページを示しています。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>at.js 2.x, multiple selectors and multiple mboxes</title>
<script src="at.js"></script>
</head>
<body>
<div id="container1">Default content 1</div>
<div id="container2">Default content 2</div>
<div id="container3">Default content 3</div>
</body>
</html>
Target から受け取ったコンテンツを介して変更したい 3 つのコンテナがあるとします。3 つの mbox に対して 1 つのリクエストを作成し、それぞれの mbox に、それぞれのコンテナにレンダリングするためのコンテンツを含めることができます。
リクエストおよびレンダリングコードは次の例のようになります。
adobe.target.getOffers({
request: {
prefetch: {
mboxes: [
{
index: 0,
name: "mbox1"
},
{
index: 1,
name: "mbox2"
},
{
index: 2,
name: "mbox3"
}
]
}
}
})
.then(response => {
// get all mboxes from response
const mboxes = response.prefetch.mboxes;
let count = 1;
mboxes.forEach(el => {
adobe.target.applyOffers({
selector: "#container" + count,
response: {
prefetch: {
mboxes: [el]
}
}
});
count += 1;
});
});
request > prefetch > mboxes
セクションでは、3 つの異なる mbox があります。リクエストが正常に完了した場合は、それぞれの mbox に対する応答を response > prefetch > mboxes
から受信します。レスポンスとレンダリングに使用する場所が決まったら、applyOffers()
を呼び出して Target から取得したコンテンツをレンダリングできます。この例では、次のマッピングがあります。
- mbox1/CSS セレクター# container1
- mbox2/CSS セレクター# container2
- mbox3/CSS セレクター# container3
この例では、count 変数を使用して CSS セレクターを作成します。実際のシナリオでは、CSS セレクターと mbox との異なるマッピングを使用できます。
この例では prefetch > mboxes
を使用していますが、execute > mboxes
を使用することもできます。getOffers()
でプリフェッチを使用する場合は、applyOffers()
呼び出しでもプリフェッチを使用する必要があります。
getOffers() を呼び出して pageLoad を実行します
次の例は、at.js 2 で getOffers() を使用して pageLoad を実行する方法を示しています。x
adobe.target.getOffers({
request: {
execute: {
pageLoad: {
parameters: {}
}
}
}
});