Installera Web SDK installing-the-sdk
Det finns tre sätt att installera Adobe Experience Platform Web SDK som stöds:
- Det bästa sättet att använda Adobe Experience Platform Web SDK är via användargränssnittet för datainsamling eller användargränssnittet för Experience Platform.
- Adobe Experience Platform Web SDK finns också i ett leveransnätverk (CDN) som du kan använda.
- Använd NPM-biblioteket som exporterar EcmaScript 5- och EcmaScript 2015-moduler (ES6).
Alternativ 1: Installera taggtillägget
Dokumentation om taggtillägget finns i Dokumentation för taggar
Alternativ 2: Installera den färdigbyggda fristående versionen
Den färdiga versionen finns tillgänglig på ett CDN. Du kan referera till biblioteket på CDN direkt på din sida eller hämta och lagra det på din egen infrastruktur. Den finns i minifierade och ominifierade format. Den ominiatyrversionen är användbar i felsökningssyfte.
URL-struktur: https://cdn1.adoberesources.net/alloy/[VERSION]/alloy.min.js OR alloy.js för den icke-minifierade versionen.
Exempel:
Lägga till koden adding-the-code
Den fördefinierade fristående versionen kräver en "baskod" som läggs till direkt på sidan. Kopiera och klistra in följande "baskod" så hög som möjligt i <head>
-tagg på HTML:
<script>
!function(n,o){o.forEach(function(o){n[o]||((n.__alloyNS=n.__alloyNS||
[]).push(o),n[o]=function(){var u=arguments;return new Promise(
function(i,l){n[o].q.push([i,l,u])})},n[o].q=[])})}
(window,["alloy"]);
</script>
<script src="https://cdn1.adoberesources.net/alloy/2.14.0/alloy.min.js" async></script>
"Baskod" skapar en global funktion med namnet alloy
. Använd den här funktionen för att interagera med SDK:n. Om du vill ge den globala funktionen ett annat namn ändrar du alloy
namn enligt följande:
<script>
!function(n,o){o.forEach(function(o){n[o]||((n.__alloyNS=n.__alloyNS||
[]).push(o),n[o]=function(){var u=arguments;return new Promise(
function(i,l){n[o].q.push([i,l,u])})},n[o].q=[])})}
(window,["mycustomname"]);
</script>
<script src="https://cdn1.adoberesources.net/alloy/2.14.0/alloy.min.js" async></script>
I det här exemplet byter den globala funktionen namn mycustomname
, i stället för alloy
.
window
.Utöver att skapa en global funktion läser den här baskoden in ytterligare kod som finns i en extern fil (alloy.js
) lagras på en server. Som standard läses den här koden in asynkront så att webbsidan kan fungera så bra som möjligt. Detta är den rekommenderade implementeringen.
Stöd för Internet Explorer support-internet-explore
Denna SDK använder löften, som är ett sätt att kommunicera slutförandet av asynkrona uppgifter. The Lova implementering som används av SDK stöds internt av alla målwebbläsare utom Internet Explorer. Använda SDK på Internet Explorermåste du ha window.Promise
polyfylld.
För att avgöra om du redan har window.Promise
polyfylld:
- Öppna webbplatsen i Internet Explorer.
- Öppna webbläsarens felsökningskonsol.
- Typ
window.Promise
till konsolen och tryck på Enter.
Om något annat än undefined
visas, du har antagligen redan polyfyllt window.Promise
. Ett annat sätt att avgöra om window.Promise
fylls i genom att webbplatsen läses in när ovanstående installationsanvisningar är klara. Om SDK genererar ett fel som talar om något om ett löfte har du troligen inte polyfyllt window.Promise
.
Om du har bestämt att du måste polyfyll window.Promise
inkluderar du följande script-tagg ovanför den tidigare angivna baskoden:
<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js"></script>
Den här taggen läser in ett skript som ser till att window.Promise
är en giltig Promise-implementering.
Promise.prototype.finally
.Läsa in JavaScript-filen synkront loading-javascript-synchronously
Se avsnittet Lägga till koden, kommer den baskod som du har kopierat och klistrat in på webbplatsens HTML att läsa in en extern fil. Den externa filen innehåller SDK:ns kärnfunktioner. Alla kommandon som du försöker köra när den här filen läses in är köade och bearbetas sedan när filen har lästs in. Inläsning av filen asynkront är den mest prestandametod som krävs för installationen.
Under vissa omständigheter kanske du vill läsa in filen synkront. Om du gör det blockeras resten av HTML-dokumentet från att tolkas och återges av webbläsaren tills den externa filen har lästs in och körts. Denna ytterligare fördröjning innan primärt innehåll visas för användarna rekommenderas vanligtvis inte, men den kan vara bra beroende på omständigheterna.
Om du vill läsa in filen synkront istället för asynkront tar du bort async
attribut från andra script
tagg enligt nedan:
<script>
!function(n,o){o.forEach(function(o){n[o]||((n.__alloyNS=n.__alloyNS||
[]).push(o),n[o]=function(){var u=arguments;return new Promise(
function(i,l){n[o].q.push([i,l,u])})},n[o].q=[])})}
(window,["alloy"]);
</script>
<script src="https://cdn1.adoberesources.net/alloy/2.14.0/alloy.min.js"></script>
Alternativ 3: Använda NPM-paketet
Adobe Experience Platform Web SDK finns också som NPM-paket. NPM är pakethanteraren för JavaScript. Genom att installera NPM-paketet får du kontroll över byggprocessen för Adobe Experience Platform Web SDK JavaScript. NPM-paketet visar EcmaScript version 5-moduler eller EcmaScript version 2015-moduler (ES6) som ska köras i webbläsaren.
npm install @adobe/alloy
NPM-paketet för Adobe Experience Platform Web SDK visar en createInstance
funktion. Den här funktionen används för att skapa en instans. Namnalternativet som skickas till funktionen styr det prefix som används vid loggning. Nedan finns exempel på hur du använder paketet.
Använda paketet som en ECMAScript 2015-modul (ES6)
import { createInstance } from "@adobe/alloy";
const alloy = createInstance({ name: "alloy" });
alloy("config", { ... });
alloy("sendEvent", { ... });
Använda paketet som en ECMAScript 5-modul
var alloyLibrary = require("@adobe/alloy");
var alloy = alloyLibrary.createInstance({ name: "alloy" });
alloy("config", { ... });
alloy("sendEvent", { ... });
Stöd för Internet Explorer
Adobe Experience Platform SDK använder löften, som är ett sätt att kommunicera slutförandet av asynkrona uppgifter. The Lova implementering som används av SDK stöds internt av alla målwebbläsare utom Internet Explorer. Använda SDK på Internet Explorermåste du ha window.Promise
polyfylld.
Ett bibliotek som man kan använda för att polyfill-löftet är en utfästelse-polyfill. Se dokumentation för promise-polyfill om du vill ha mer information om hur du installerar med NPM.
Promise.prototype.finally
.