Utilisation de plusieurs instances Web SDK
Dans certains cas, il est possible que vous souhaitiez interagir avec deux propriétés différentes sur une même page. Les scénarios possibles sont les suivants :
- Des entreprises acquises et travaillant à l’intégration de leurs sites web respectifs.
- Des relations de partage de données entre plusieurs entreprises.
- Les clients qui testent de nouvelles solutions Adobe et qui ne souhaitent pas interrompre leur implémentation existante
Le SDK vous permet de créer une instance distincte pour chaque propriété en ajoutant un autre nom au tableau dans le code de base. L’exemple suivant fournit deux noms, titanium et copper.
<!-- Base code -->
<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.setTimeout(function(){n[o].q.push([i,l,u])})})},n[o].q=[])})}
(window,["titanium", "copper"]);
</script>
<!-- Load the Web SDK (JavaScript library loader or Tags embed code) -->
<!-- <script src=".../alloy.min.js" async></script> -->
<!-- <script src=".../launch-<ENV>.min.js" async></script> -->
Par conséquent, le script crée deux fonctions globales (titanium et copper dans l’exemple ci-dessus) qui deviennent deux instances SDK lors de l’initialisation de la bibliothèque. Chaque instance conserve sa propre configuration et son propre état ; toute commande qui utilise titanium est isolée des copper.
En suivant l’exemple de modèle de dénomination de titanium et copper en tant qu’instances Web SDK, vous pouvez exécuter des commandes indépendamment :
titanium("configure", {
datastreamId: "ebebf826-a01f-4458-8cec-ef61de241c93",
orgId: "ADB3LETTERSANDNUMBERS@AdobeOrg"
});
titanium("sendEvent", {
data: {
key: "value"
}
});
copper("configure", {
datastreamId: "f46e981f-fd03-4bdd-a9d9-73ce4447f870",
orgId: "ADB3NUMBERSANDLETTERS2@AdobeOrg"
});
copper("sendEvent", {
data: {
key: "value"
}
});
Veillez à exécuter la commande configure pour chaque instance avant d’exécuter d’autres commandes sur la même instance.
datastreamId unique et son propre orgId unique.