adobe.target.triggerView (viewName, options) - at.js 2.x
Gemaakt voor:
- Ontwikkelaar
Deze functie kan worden aangeroepen wanneer een nieuwe pagina wordt geladen of wanneer een component op een pagina opnieuw wordt weergegeven. adobe.target.triggerView()
moet worden geïmplementeerd voor toepassingen op één pagina (SPA) om Visual Experience Composer (VEC) te gebruiken voor het maken van A/B Test - en Experience Targeting (XT)-activiteiten. Als adobe.target.triggerView()
niet op de plaats wordt uitgevoerd, kan VEC niet voor SPA worden gebruikt. Voor meer informatie, zie Enige implementatie van de Toepassing van de Pagina.
Parameter | Type | Vereist? | Beschrijving |
---|---|---|---|
viewName | String | Ja | Geef elke naam door als een type tekenreeks dat u de weergave wilt vertegenwoordigen. Deze weergavenaam wordt in het deelvenster Modifications van de VEC weergegeven, zodat marketers handelingen kunnen maken en hun A/B Test - en Experience Targeting XT-activiteiten kunnen uitvoeren. |
opties | Object | Nee | |
opties > pagina | Boolean | Nee |
WAAR: De standaardwaarde van pagina is waar. Wanneer page=true, worden meldingen naar de Target backend verzonden voor een toename van het aantal impressies. Er wordt altijd standaard een melding verzonden wanneer een VALS: Wanneer page=false, worden de berichten niet verzonden voor het verhogen van beeldtelling. Deze benadering zou moeten worden gebruikt wanneer u een component op een pagina met een aanbieding slechts opnieuw wilt teruggeven. Nota: De aanbiedingen van de Code van de douane in VEC worden niet opnieuw teruggegeven wanneer |
Voorbeeld: Waar
triggerView()
-aanroep om een melding naar de Target -backend te verzenden voor het verhogen van activiteitsimpressies en andere metriek.
adobe.target.triggerView("homeView")
Voorbeeld: Onwaar
triggerView()
roept op om geen meldingen naar de Target backend te laten verzenden voor het tellen van de indruk.
adobe.target.triggerView("homeView", {page: false})
Voorbeeld: Promise chaining with getoffers()
and applyOffers()
Als u triggerView()
wilt uitvoeren wanneer de getOffers()
promise is opgelost, is het belangrijk triggerView()
uit te voeren op het laatste blok, zoals in het onderstaande voorbeeld wordt getoond. Dit is noodzakelijk voor VEC om Views
in auteurswijze te ontdekken.
adobe.target.getOffers({
'request': {
'prefetch': {
'views': [{
'parameters': {}
}]
}
}
}).then(function(response) {
// Apply Offers
adobe.target.applyOffers({
response: response
});
}).catch(function(error) {
console.log("AT: getOffers failed - Error", error);
}).finally(() => {
// Trigger View call, assuming pageView is defined elsewhere
adobe.target.triggerView(pageView, {
page: true
});
console.log('AT: View triggered on : ' + pageView);
});
Voorbeeld: De beste compatibiliteit voor triggerView()
met de Adobe Visual Editing Helper extension
Overweeg het volgende wanneer het gebruiken van de Adobe Visuele het Uitgeven uitbreiding van de Helper:
Vanwege het nieuwe v3 Manifest-beleid van Googl moet de Visual Editing Helper extension op de DOMContentLoaded
-gebeurtenis wachten voordat de Target -bibliotheken in de VEC worden geladen. Chrome Deze vertraging kan ertoe leiden dat webpagina's de triggerView()
-aanroep starten voordat de ontwerpbibliotheken gereed zijn, waardoor de weergave tijdens het laden niet wordt gevuld.
Gebruik een listener voor de gebeurtenis page load
om dit probleem op te lossen.
Hier volgt een voorbeeldimplementatie:
function triggerViewIfLoaded() {
adobe.target.triggerView("homeView");
}
if (document.readyState === "complete") {
// If the page is already loaded
triggerViewIfLoaded();
} else {
// If the page is not yet loaded, set up an event listener
window.addEventListener("load", triggerViewIfLoaded);
}