adobe.target.triggerView (viewName, options) - at.js 2.x
Cette fonction peut être appelée à chaque chargement d’une nouvelle page ou lorsqu’un composant fait l’objet d’un nouveau rendu sur une page. adobe.target.triggerView()
doit être implémenté pour les applications d’une seule page (SPA) afin d’utiliser le Visual Experience Composer (VEC) pour créer des activités A/B Test et Experience Targeting (XT). Si adobe.target.triggerView()
n’est pas implémenté sur le site, le VEC ne peut pas être utilisé pour SPA. Pour plus d’informations, voir Implémentation d’application monopage.
TRUE : La valeur par défaut de la page est vrai. Lorsque page = vrai, les notifications sont envoyées au serveur principal Target pour incrémenter le nombre d’impressions.
Une notification est toujours envoyée par défaut lors de l’appel d’un triggerView
, sauf si options > page est défini sur false.
FALSE : Lorsque page = false, les notifications ne sont pas envoyées pour incrémenter le nombre d’impressions. Cette approche doit être utilisée lorsque vous souhaitez uniquement effectuer le rendu d’un composant sur une page avec une offre.
Remarque : Les offres de code personnalisé dans le VEC ne sont pas rendues à nouveau lorsque triggerView()
est appelé avec {page: false}
comme option.
Exemple : True
triggerView()
appel pour envoyer une notification au serveur principal Target pour incrémenter les impressions d’activité et d’autres mesures.
adobe.target.triggerView("homeView")
Exemple : False
Appel triggerView()
pour ne pas envoyer de notifications au serveur principal Target pour le comptage d’impression.
adobe.target.triggerView("homeView", {page: false})
Exemple : promesse d’un chaînage avec getoffers()
et applyOffers()
Pour exécuter triggerView()
lorsque la promesse getOffers()
est résolue, il est important d’exécuter triggerView()
sur le bloc final, comme illustré dans l’exemple ci-dessous. Cela est nécessaire pour que le VEC détecte Views
en mode création.
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);
});
Exemple : meilleure compatibilité pour triggerView()
avec Adobe Visual Editing Helper extension
Tenez compte de ce qui suit lors de l’utilisation de l’extension Adobe Visual Editing Helper extension :
En raison des nouvelles stratégies de manifeste V3 de Googl pour les extensions Chrome, Visual Editing Helper extension doit attendre l’événement DOMContentLoaded
avant de charger les bibliothèques Target dans le VEC. Ce délai peut entraîner le déclenchement de l’appel triggerView()
par les pages web avant que les bibliothèques de création ne soient prêtes, ce qui entraîne le fait que la vue ne soit pas renseignée au chargement.
Pour atténuer ce problème, utilisez un écouteur pour l’événement de page load
.
Voici un exemple de mise en oeuvre :
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);
}