adobe.target.triggerView (viewName, options) - at.js 2.x
È possibile chiamare questa funzione a ogni caricamento di una nuova pagina o quando si esegue di nuovo il rendering di un componente di una pagina. Implementare adobe.target.triggerView()
per le applicazioni a pagina singola (SPA) per utilizzare Visual Experience Composer (VEC) per creare A/B Test e Experience Targeting (XT) attività. Se adobe.target.triggerView()
non è implementato sul sito, non è possibile utilizzare il Compositore esperienza visivo per l'SPA. Per ulteriori informazioni, consulta Implementazione di un’applicazione a pagina singola.
TRUE: il valore predefinito della pagina è vero. Con page=true, si inviano notifiche al backend Target per incrementare il conteggio delle impression.
Una notifica viene sempre inviata per impostazione predefinita quando viene chiamato un triggerView
, tranne quando options > page è impostato su false.
FALSE: con page=false, non si inviano le notifiche per incrementare il conteggio delle impression. Usa questo approccio quando vuoi eseguire nuovamente il rendering solo di un componente su una pagina con un’offerta.
Nota: le offerte di codice personalizzato nel Compositore esperienza visivo non vengono riprodotte quando triggerView()
viene chiamato con {page: false}
come opzione.
Esempio: True
Chiamata triggerView()
per inviare una notifica al backend Target per incrementare le impression dell'attività e altre metriche.
adobe.target.triggerView("homeView")
Esempio: False
Chiamata di triggerView()
per non inviare notifiche al backend Target per il conteggio delle impression.
adobe.target.triggerView("homeView", {page: false})
Esempio: concatenamento promesse con getoffers()
e applyOffers()
Per eseguire triggerView()
quando la promessa getOffers()
è risolta, è importante eseguire triggerView()
sul blocco finale, come illustrato nell'esempio seguente. Questo è necessario affinché il Compositore esperienza visivo possa rilevare Views
in modalità creazione.
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);
});
Esempio: migliore compatibilità per triggerView()
con Adobe Visual Editing Helper extension
Quando utilizzi l'estensione Helper per editing video Adobe, considera quanto segue:
A causa dei nuovi criteri V3 Manifest di Google per le estensioni Chrome, Visual Editing Helper extension deve attendere l'evento DOMContentLoaded
prima di caricare le librerie Target nel Compositore esperienza visivo. Questo ritardo potrebbe causare l'attivazione della chiamata triggerView()
da parte delle pagine Web prima che le librerie di authoring siano pronte, con conseguente mancato popolamento della visualizzazione al momento del caricamento.
Per attenuare questo problema, utilizzare un listener per l'evento pagina load
.
Di seguito un esempio di implementazione:
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);
}