adobe.target.getOffers() - at.js 2.x
この関数を使用すると、複数の mbox を渡すことで複数のオファーを取得できます。さらに、アクティブなアクティビティのすべてのビュー向けに複数のオファーを取得できます。
consumerId
指定しない場合、デフォルト値はクライアントのグローバル mbox です。このキーは、A4T 統合に使用される補足的なデータ ID(SDID) を生成するために使用されます。
を使用する場合 getOffers()
を呼び出すたびに新しい SDID が生成されます。 同じページに複数の mbox リクエストがあり、SDID を保持したい (target-global-mbox と Adobe Analytics SDID)、 consumerId
パラメーター。
次の場合 getOffers()
3 つの mbox(「mbox1」、「mbox2」、「mbox3」) を含むには、次のものが含まれます。 consumerId: "mbox1, mbox2, mbox3"
(内) getOffers()
を呼び出します。
decisioningMethod
request
timeout
リクエスト
tntId
、thirdPartyId
、または marketingCloudVisitorId
のいずれか 1 つが必須です。以下をページに実装する必要があります。
- 訪問者 ID サービス
- Appmeasurement.js
次の値がサポートされています。
client_side:指定した場合、に送信するために使用される必要がある呼び出し元に分析ペイロードが返されます Adobe Analytics 経由 Data Insertion API.
server_side TargetAnalytics:これはデフォルト値で、 および バックエンドが SDID を使用して、レポート処理のために呼び出しを共にスティッチします。
最大数 50。
名前は空白にはできません.
名前の長さ <=
128.
値の長さ <=
5000.
名前は「profile」で始まれません。
使用できない名前:「orderId」、「orderTotal」、「productPurchasedId」。
最大数 = 50.
名前は空白にはできません.
名前の長さ <=
128.
値の長さ <=
5000.
文字列値のみを受け入れます。
名前は「profile」で始まれません。
空白にはできません。
最大サイズ= 128。
空白にはできません。
最大サイズ= 128。
>=
0空白の値はありません。
各値の最大長は 50 です。
コンマ区切りで連結されます。
製品 ID の合計の長さ <=
250。
Request > execute > pageLoad
parameters
最大数 50。
名前は空白にはできません.
名前の長さ <=
128.
値の長さ <=
5000.
文字列値のみを受け入れます。
名前は「profile」で始まれません。
使用できない名前:「orderId」、「orderTotal」、「productPurchasedId」。
Request > execute > pageLoad
profileParameters
最大数 50。
名前は空白にはできません.
名前の長さ <=
128.
値の長さ <=
256.
名前は「profile」で始まれません。
文字列値のみを受け入れます。
Request > execute > pageLoad
product
Request > execute > pageLoad
product -> id
空白にはできません。
最大サイズ = 128.
Request > execute > pageLoad
product > categoryId
空白にはできません。
最大サイズ = 128.
Request > execute > pageLoad
order
Request > execute > pageLoad
order > id
Request > execute > pageLoad
order > total
>=
0Request > execute > pageLoad
order > purchasedProductIds
空白の値はありません。
各値の最大長は 50 です。
コンマ区切りで連結されます。
製品 ID の合計の長さ <=
250。
最大サイズ = 50.
null 要素はありません。
空白にはできません。
「 —clicked」サフィックスはありません。
最大サイズ = 250.
使用できる文字: `'-, ./=:;&!@#$%^&*()+
null ではありません。
ユニーク.
>=
0.
最大数= 50。
名前は空白にはできません.
名前の長さ <=
128.
文字列値のみを受け入れます。
値の長さ <=
5000.
名前は「profile」で始まれません。
使用できない名前:「orderId」、「orderTotal」、「productPurchasedId」。
最大数= 50。
名前は空白にはできません.
名前の長さ <=
128.
文字列値のみを受け入れます。
値の長さ <=
256.
名前は「profile」で始まれません。
空白にはできません。
最大サイズ = 128.
空白にはできません。
最大サイズ = 128.
>=
0空白の値はありません。
各値の最大長= 50。
コンマ区切りで連結されます。
製品 ID の合計の長さ <=
250。
通話 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() クライアント側から analytics ペイロードを取得するには
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"
}
}
}]
}
}
ペイロードは次の場所に転送できます: Adobe Analytics 経由 Data Insertion API.
を介して複数の mbox からデータを取得してレンダリングする getOffers() および applyOffers()
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 を実行するには、以下を実行します。
次の例は、 getOffers() を at.js 2.x
adobe.target.getOffers({
request: {
execute: {
pageLoad: {
parameters: {}
}
}
}
});