Utilizzare più istanze di Web SDK

In alcuni casi potrebbe essere utile interagire con due proprietà diverse sulla stessa pagina. Gli scenari possibili includono:

  • Aziende che sono state acquisite e stanno lavorando all’integrazione dei loro siti web
  • Relazioni di condivisione dei dati tra più aziende
  • Clienti che stanno testando nuove soluzioni Adobe e non desiderano interrompere l’implementazione esistente

SDK consente di creare un'istanza separata per ogni proprietà aggiungendo un altro nome all'array nel codice base. Nell'esempio seguente vengono forniti due nomi, titanium e 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> -->

Di conseguenza, lo script crea due funzioni globali (titanium e copper nell'esempio precedente) che diventano due istanze di SDK quando la libreria viene inizializzata. Ogni istanza mantiene la propria configurazione e il proprio stato; qualsiasi comando che utilizza titanium viene mantenuto isolato da copper.

TIP
Se utilizzi il codice di base con i tag, assicurati che tutti i nomi di istanza impostati corrispondano a tutti i nomi di istanza di SDK durante la configurazione dell'estensione tag.

Seguendo l'esempio del modello di denominazione di titanium e copper come istanze di Web SDK, è possibile eseguire in modo indipendente i comandi:

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"
  }
});

Assicurarsi di eseguire il comando configure per ogni istanza prima di eseguire altri comandi sulla stessa istanza.

IMPORTANT
Per evitare conflitti con i cookie, ogni istanza di Web SDK deve avere il proprio datastreamId univoco e il proprio orgId univoco.
recommendation-more-help
1ae86b30-e55e-49c1-ab11-9d0356a5f3e1