Articoli su: Sviluppatori e API
Questo articolo è disponibile anche in:

Integrazione avanzata del codice di integrazione HTML (widget) tramite l'API

Widget sample code



<html>
<head>
   <!-- Include i pacchetti -->
   <script src="https://cdn-apps.drimify.com/prod/widget/index.js" type="text/javascript"></script>

   <!-- Configura il widget al caricamento della pagina -->
   <script>
       window.addEventListener('load', function () {
           var widget = DigitaService.Widget.Create({
               autoscroll: true,
               element: 'gamification-widget',
               engine: 'https://apps.drimify.com/XBs15jKF/',
               fixed: false,
               height:['auto'],
               sharingurl: 'https://apps.drimify.com/XBs15jKF/',
               width: '100%',
           });
           widget.onReady = function (event) {};
           widget.onComplete = function (event) {};
           widget.onFirstInteraction = function () {};
           widget.onRouteChange = function (event) {};
           widget.onScrollToTop = function () {};
           widget.onClose = function () {};
           widget.onError = function (errorEvent) {};
           widget.load();
       });
   </script>
</head>
<body>
<div id="gamification-widget"></div>
</body>
</html>


Configurazione



Crea un Widget passando un oggetto Opzioni alla funzione di Creazione:

var widget = DigitaService.Widget.Create(options);


Opzioni di configurazione



Obbligatorie



OpzioneTipoDescrizione
options.elementstringa - HTMLElementIl widget verrà iniettato in questo elemento HTML. Puoi passare l'accesso diretto a un elemento HTML esistente o fornire l'ID della stringa per tale elemento. Se non fornisci questa proprietà, tenterà di trovare un ID “digitaservice-widget” nella pagina.
options.enginestringaL'URL assoluto all'applicazione che verrà caricata nel widget.


Facoltative



OpzioneTipoDefaultDescrizione
options.heightstringaautoIl widget ha un'altezza di default pari a zero prima di essere caricato. Puoi sovrascrivere questo con un valore segnaposto per evitare salti di pagina a seconda di dove il widget è utilizzato nella pagina principale. Il valore è in pixel come “600px”. Quando si utilizza options.fixed = true il valore dell'altezza sarà bloccato al valore fornito introducendo barre di scorrimento.
options.autoscrollbooleanoveroA seconda della lunghezza del contenuto del widget e della visualizzazione dell'utente, potrebbe essere necessario che la pagina che ospita il widget richieda lo scorrimento della pagina ospitante. Il comportamento predefinito quando un utente sta utilizzando il Widget, è di far scorrere la pagina ospitante in cima al widget per facilitarne l'uso. Per disabilitare ciò, impostare autoscroll su falso. Questa proprietà sarà falsa se options.fixed è vero.
options.sharingurlstringaL'URL che ospita il widgetQuando si utilizza la condivisione sociale, questo è l'URL che le persone condivideranno sui social media per portarle alla tua campagna. Se la condivisione è una stringa vuota, verrà utilizzata la pagina ospitante (contenente il widget) come URL.
options.fixedbooleanofalsoDi solito il widget cambierà dimensione automaticamente per adattarsi al contenuto dell'engine ed evitare le barre di scorrimento. Se impostato su vero, l'altezza del widget sarà persistente e non cambierà. Quando si utilizza questa opzione, il valore options.height dovrebbe essere impostato su qualcosa di diverso da “auto”. Se l'altezza dell'engine è maggiore del valore dell'altezza, verranno utilizzate le barre di scorrimento per navigare.
options.widthstringa“100%”La larghezza del widget. Può essere impostata come una misura CSS come “%” o “px” ad esempio.


Caricare



Una volta configurato un Widget, devi caricarlo. Puoi caricare il widget in qualsiasi momento.

Nota: Assicurati di impostare uno dei callback sottostanti prima di caricare in modo da poter catturare tutti gli eventi.

widget.load();


Callback degli eventi



onReady


Una volta chiamato widget.load(), questo caricherà e inizializzerà il widget. Quando il widget ha completato questo processo, verrà invocato un callback opzionale onReady.

widget.onReady = function (event) {
   // caricato e pronto all'uso
   console.log(event.type); // “pronto”
   console.log(event.data); // {}
};


onError


Una volta chiamato widget.load(), questo caricherà e inizializzerà il widget. Qualsiasi errore fatale che si verifica dopo quel punto invocherà un callback opzionale onError.

widget.onError = function (event) {
   throw new Error(event.message);
};


onComplete


Una volta che la partita è stata completata e l’utente sta guardando l'ultima schermata. Fornisce anche un oggetto dati che descrive cosa è avvenuto nella partita.

Nota: se vuoi agire su questo, potresti voler dare un timeout all'interno del callback in modo che l'utente abbia tempo di leggere la Schermata Finale poiché avviene istantaneamente al raggiungimento dell'ultima schermata. Puoi anche utilizzare onClose.

widget.onComplete = function (event) {
   console.log(event.type); // “completo”
   console.log(event.data); // {}
   console.log("Il punteggio degli utenti era" + event.data.gameMetrics.score);
};


onResize


Si verifica quando l'Engine ha ridimensionato, fornisce l'altezza come valore in pixel.

widget.onResize = function (event) {
   console.log(event.type); // “ridimensiona”
   console.log(event.data); // {}
   console.log("Altezza dell'applicazione:" + event.data.height);
};


onClose


L'applicazione può essere configurata con un pulsante di chiusura dedicato che consente all'utente di chiudere implicitamente l'esperienza. Se questo pulsante è configurato e l'utente interagisce con esso, allora verrà inviato l'evento di chiusura. Questo è un buon momento per distruggere il widget dalla tua pagina e terminare il ciclo di vita del widget.

widget.onClose = function () {
   DigitaService.Widget.Destroy();
};


onFirstInteraction


Quando l'utente interagisce (tocca/clicca) con l'applicazione caricata per la prima volta.

widget.onFirstInteraction = function () {
   console.log("L'utente ha interagito con l'Applicazione per la prima volta");
};


onRouteChange


Si verifica quando l'Applicazione ha cambiato rotta all'interno del widget. (Naviga tra le schermate). L'evento può contenere o meno un oggetto dati a seconda del contesto.

widget.onRouteChange = function (event) {
   console.log(event.type) // “cambiamento di rotta”
   console.log(event.data) // {} o indefinito
   console.log("L'utente ha interagito con l'Applicazione per la prima volta");
};


onScrollToTop


Si verifica quando l'Applicazione sta tentando di scorrere indietro alla cima della pagina. Può essere utilizzato sulla pagina principale per assicurarsi che lo scorrimento non venga attivato (CORS) o che debba essere aggiustato. L'evento non contiene un oggetto dati.

widget.onScrollToTop = function () {
   console.log("Scorri in Alto");
};


Metriche



Ecco un elenco delle metriche chiave che possono essere utilizzate a seconda del tipo di partita:

ChiaveDescrizione
data.gameMetrics.CurrentAttemptI tentativi dell'utente una volta completata la partita.
data.gameMetrics.prizeIDL'ID del premio.
data.gameMetrics.prizeImageL'immagine del premio.
data.gameMetrics.prizeNameIl nome del premio.
data.gameMetrics.totalPossibleAttemptsL'importo totale di tentativi possibili.
data.gameMetrics.userWonvero/falso a seconda dello stato dell'utente.
data.gameMetrics.scoreL'importo totale di punti aggregati con cui questo utente completa la partita.


Credenziali


ChiaveDescrizione
data.credentials.isPreviewModeVerifica se la partita è in modalità anteprima.
data.credentials.projectIDL'id dell'app dell'app corrente giocata.
data.credentials.projectLanguageLa lingua del progetto nel widget (en, it).
data.credentials.projectNameIl nome dell'app.
data.credentials.projectTypeIl tipo di app (quiz, memory...).
data.credentials.publisherIDL'id dell'editore.
data.credentials.sessionIDL'id di sessione del giocatore corrente.

Aggiornato il: 18/04/2024

È stato utile questo articolo?

Condividi il tuo feedback

Annulla

Grazie!