DocumentatieTargetDoelontwikkelaarsgids

adobe.target.triggerView (viewName, options) - at.js 2.x

Laatst bijgewerkt: 5 mei 2025
  • Onderwerpen:

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.

NOTE
Deze functie is geïntroduceerd met at.js 2.x. Deze functie is niet beschikbaar voor versie 1 van at.js.x.
ParameterTypeVereist?Beschrijving
viewNameStringJaGeef 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.
optiesObjectNee
opties > paginaBooleanNee

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 triggerView wordt aangeroepen, behalve wanneer opties > pagina is ingesteld op false.

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 triggerView() met {page: false} als optie wordt geroepen.

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);
}
recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3