adobe.target.getOffers() - at.js 2.x
Gemaakt voor:
- Ontwikkelaar
Deze functie laat u veelvoudige aanbiedingen terugwinnen door in veelvoudige dozen over te gaan. Bovendien kunnen meerdere aanbiedingen worden opgehaald voor alle weergaven in actieve activiteiten.
| Sleutel | Type | Vereist? | Beschrijving |
|---|---|---|---|
consumerId | String | Nee |
De standaardwaarde is het globale mbox van de cliënt als niet verstrekt. Deze sleutel wordt gebruikt om de supplementaire gegevens ID (SDID) te produceren die voor integratie A4T wordt gebruikt. Bij gebruik van Als |
decisioningMethod | String | Nee | "server-side", "on-device", "hybride" |
request | Object | Ja | Zie onderstaande tabel Verzoeken. |
timeout | Getal | Nee | Verzoek time-out. Als deze niet is opgegeven, wordt de standaardtime-out at.js gebruikt. |
Verzoek
tntId, thirdPartyId of marketingCloudVisitorId is vereist.Het volgende moet op pagina worden geïmplementeerd:
- Bezoekersidentiteitsservice
- Appmeasurement.js
De volgende waarden worden ondersteund:
client_side: Wanneer gespecificeerd, zal een analytische lading aan de bezoeker zijn teruggekeerd die zou moeten worden gebruikt om naar Adobe Analytics via Data Insertion API te verzenden.
server_side: Dit is de standaardwaarde waar Target en Analytics backend SDID zal gebruiken om de vraag voor rapporteringsdoeleinden samen te binden.
Maximaal aantal 50.
Naam niet leeg.
Naam lengte <= 128.
Waarde length <= 5000.
De naam mag niet beginnen met "profiel".
Namen niet toegestaan: "orderId", "orderTotal", "productPurchasedId".
Maximumaantal 50.
Naam niet leeg.
Naam lengte <= 128.
Waarde length <= 5000.
Accepteert alleen tekenreekswaarden.
De naam mag niet beginnen met "profiel".
Niet leeg.
maximale grootte = 128.
Niet leeg.
maximale grootte = 128.
>= 0.Geen lege waarden.
Maximale lengte van elke waarde 50.
Samengevoegd en gescheiden door komma.
Totale lengte van product-id's <= 250.
Maximaal aantal 50.
Naam niet leeg.
Naam lengte <= 128.
Waarde length <= 5000.
Accepteert alleen tekenreekswaarden.
De naam mag niet beginnen met "profiel".
Namen niet toegestaan: "orderId", "orderTotal", "productPurchasedId".
Maximaal aantal 50.
Naam niet leeg.
Naam lengte <= 128.
De lengte van de waarde <= {256.
De naam mag niet beginnen met "profiel".
Accepteert alleen tekenreekswaarden.
Niet leeg.
Maximale grootte = 128.
Niet leeg.
Maximale grootte = 128.
>= 0Geen lege waarden.
Maximale lengte van elke waarde 50.
Samengevoegd en gescheiden door komma.
Totale lengte van product-id's <= 250.
Maximale grootte = 50.
Geen null-elementen.
Niet leeg.
Geen achtervoegsel '-geklikt'.
Maximale grootte = 250.
Toegestane tekens: `'-, ./=:;&!@#$%^&*()+
Niet null.
Uniek.
>= 0
Maximum aantal = 50.
Naam niet leeg.
Naam lengte <= 128.
Accepteert alleen tekenreekswaarden.
Waarde length <= 5000.
De naam mag niet beginnen met 'profiel'.
Namen niet toegestaan: "orderId", "orderTotal", "productPurchasedId".
Maximum aantal = 50.
Naam niet leeg.
Naam lengte <= 128.
Accepteert alleen tekenreekswaarden.
De lengte van de waarde <= {256.
De naam mag niet beginnen met 'profiel'.
Niet leeg.
Maximale grootte = 128.
Niet leeg.
Maximale grootte = 128.
>= 0Geen lege waarden.
De maximumlengte van elke waarde = 50.
Samengevoegd en gescheiden door komma.
Product ids totale lengte <= 250.
Roep getOffers() aan voor alle weergaven
adobe.target.getOffers({
request: {
prefetch: {
views: [{}]
}
}
});
Roep getOffers() aan om een beslissing op het apparaat te maken
adobe.target.getOffers({
decisioningMethod:"on-device",
request: {
execute: {
mboxes: [
{
index: 0,
name: "homepage"
}
]
}
}
});
Roep getOffers() aan om de recentste meningen met de overgegaan parameters en profielparameters terug te winnen
adobe.target.getOffers({
request: {
"prefetch": {
"views": [
{
"parameters": {
"ad": "1"
},
"profileParameters": {
"age": 23
}
}
]
}
}
});
Roep getOffers() aan om dozen met doorgegeven parameters en profielparameters terug te winnen.
adobe.target.getOffers({
request: {
execute: {
mboxes: [
{
index: 0,
name: "first-mbox"
},
{
index: 1,
name: "second-mbox",
parameters: {
a: 1
},
profileParameters: {
b: 2
}
}
]
}
}
});
Roep getOffers() aan om de lading van de analytische lading van de cliëntkant terug te winnen
adobe.target.getOffers({
request: {
experienceCloud: {
analytics: {
logging: "client_side"
}
},
prefetch: {
mboxes: [{
index: 0,
name: "a1-serverside-xt"
}]
}
}
})
.then(console.log)
Reactie:
{
"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"
}
}
}]
}
}
De nuttige lading kan dan aan Adobe Analytics via de Invoeging API van Gegevens door:sturen.
Gegevens uit meerdere vakken ophalen en renderen via getOffers() en applyOffers()
Met at.js 2.x kunt u meerdere vakken ophalen via de getOffers() API. U kunt ook gegevens ophalen voor meerdere vakken en vervolgens met applyOffers() de gegevens renderen op verschillende locaties die door een CSS-kiezer worden geïdentificeerd.
In het volgende voorbeeld ziet u een eenvoudige HTML-pagina waarop at.js 2.x is geïmplementeerd:
<!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>
Stel dat u drie containers hebt die u wilt wijzigen via inhoud die u van Target hebt ontvangen. U kunt één aanvraag maken voor drie vakken waarin elke box inhoud bevat die in de desbetreffende container moet worden gerenderd.
De aanvraag- en rendercode kunnen er als volgt uitzien:
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;
});
});
In de sectie request > prefetch > mboxes zijn er drie verschillende vakken. Als de aanvraag is voltooid, ontvangt u de reactie voor elke box van response > prefetch > mboxes . Nadat u de reacties hebt en de locaties die u voor rendering wilt gebruiken, kunt u applyOffers() aanroepen om de inhoud te renderen die u hebt opgehaald uit Target . In dit voorbeeld hebben we de volgende afbeelding:
- mbox1 > CSS selector #container1
- mbox2 > CSS selector #container2
- mbox3 > CSS selector #container3
In dit voorbeeld wordt de telvariabele gebruikt om de CSS-kiezers samen te stellen. In een real-life scenario kunt u een verschillende afbeelding gebruiken tussen de CSS-kiezer en de box.
In dit voorbeeld wordt prefetch > mboxes gebruikt, maar u kunt execute > mboxes ook gebruiken. Als u de voorinstelling in getOffers() gebruikt, moet u ook de voorinstelling in de applyOffers() -aanroep gebruiken.
Roep getOffers() aan om een pageLoad uit te voeren
In het volgende voorbeeld ziet u hoe u een pageLoad uitvoert met getOffers() met at.js 2.x
adobe.target.getOffers({
request: {
execute: {
pageLoad: {
parameters: {}
}
}
}
});