In alcuni casi potrebbe essere utile interagire con due proprietà diverse sulla stessa pagina. Tali casi includono:
L’SDK consente di creare un’istanza separata per ogni proprietà aggiungendo un altro nome all’array nel codice di base. Nell'esempio seguente vengono forniti due nomi: mycustomname1
e mycustomname2
.
<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,["mycustomname1", "mycustomname2"]);
</script>
<script src="alloy.js" async></script>
Di conseguenza, lo script crea due istanze dell’SDK. La funzione globale per l’interazione con la prima istanza è denominata mycustomname1
e la funzione globale per interagire con la seconda istanza è denominata mycustomname2
.
Creando due istanze separate, ciascuna può essere configurata per una proprietà diversa. Qualsiasi comunicazione o persistenza dei dati che si verifica a causa dell’interazione con mycustomname1
è tenuto isolato da mycustomname2
.
Seguendo l'esempio precedente, è possibile eseguire comandi utilizzando ciascuna delle istanze, come indicato di seguito:
mycustomname1("configure", {
"edgeConfigId": "ebebf826-a01f-4458-8cec-ef61de241c93",
"orgId": "ADB3LETTERSANDNUMBERS@AdobeOrg"
});
mycustomname1("sendEvent", {
"data": {
"key": "value"
}
});
mycustomname2("configure", {
"edgeConfigId": "f46e981f-fd03-4bdd-a9d9-73ce4447f870",
"orgId": "ADB3NUMBERSANDLETTERS2@AdobeOrg"
});
mycustomname2("sendEvent", {
"data": {
"key": "value"
}
});
Assicurati di eseguire configure
per ogni istanza prima di eseguire altri comandi sulla stessa istanza.
Per evitare conflitti con i cookie, è sufficiente una sola istanza di Adobe Experience Platform Web SDK all'interno di una pagina può avere un particolare edgeConfigId
. Analogamente, solo un’istanza di Adobe Experience Platform Web SDK può avere un particolare orgId
.