Articles sur : Développeurs et API
Cet article est aussi disponible en :

Intégration avancée du code d'intégration HTML (widget) via l'API

Configuration du Widget



Créez un Widget en passant un objet Options à la fonction Create :

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


Options de Configuration



Obligatoires



OptionTypeDescription
options.elementstring - HTMLElementLe widget sera injecté dans cet élément HTML. Vous pouvez soit passer un accès direct à un élément existant, soit fournir l'ID string pour cet élément. Si vous ne fournissez pas cette propriété, il tentera de trouver un ID "digitaservice-widget" sur la page.
options.enginestringL'URL absolue de l'application qui sera chargée dans le widget.


Optionnelles



OptionTypePar DéfautDescription
options.heightstringautoPar défaut, le widget a une hauteur de zéro avant d'être chargé. Vous pouvez remplacer cela par une valeur de remplacement pour éviter les sauts de page en fonction de l'endroit où le widget est utilisé sur la page parente. La valeur est en pixels comme "600px". Lorsque options.fixed = true, la hauteur sera fixe et des barres de défilement seront introduites.
options.autoscrollbooleantrueLa longueur du contenu du widget et l'affichage de l'utilisateur peuvent nécessiter que la page contenant le widget défile. Par défaut, lorsque l'utilisateur utilise le Widget, la page hôte défile jusqu'en haut du widget pour faciliter l'utilisation. Pour désactiver cela, définissez autoscroll sur false. Si options.fixed est true, cette propriété sera false.
options.sharingurlstringL'URL hôte contenant le widgetLors de l'utilisation du Partage Social, c'est l'URL que les gens partageront sur les réseaux sociaux pour les ramener à votre campagne. Si le partage est une chaîne vide, il utilisera la page hôte (contenant le widget) comme URL.
options.fixedbooleanfalseNormalement, le widget ajustera sa taille automatiquement pour s'adapter au contenu de l'engine et éviter les barres de défilement. Si ceci est défini sur true, alors la hauteur du widget restera constante et ne changera pas. Lors de l'utilisation de cette option, la valeur options.height doit être fixée à une valeur autre que "auto". Si la hauteur de l'engine est supérieure à la valeur de hauteur, des barres de défilement seront utilisées pour naviguer.
options.widthstring“100%”La largeur du widget. Peut être définie avec une unité CSS telle que “%” ou “px” par exemple.


Chargement



Une fois un Widget configuré, vous devez le charger. Vous pouvez le faire à tout moment.

Remarque : Assurez-vous de configurer les callbacks ci-dessous avant de charger pour pouvoir capturer tout événement.

```widget.load();```# Callbacks d'événement

onReady


Une fois que widget.load() a été appelé, cela chargera et initialisera le widget. Lorsque le widget a terminé ce processus, il invoquera un callback optionnel onReady.

widget.onReady = function (event) {
   // chargé et prêt à l'utilisation
   console.log(event.type); // “ready”
   console.log(event.data); // {}
};


onError


Une fois que widget.load() a été appelé, cela chargera et initialisera le widget. Toute erreur fatale survenant après ce point invoquera un callback optionnel onError.

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


onComplete


Une fois que le jeu est terminé et que l'utilisateur regarde l'écran final. Cela fournit également un objet données décrivant ce qui s'est passé dans le jeu.

Note : si vous souhaitez agir dessus, vous pourriez vouloir intégrer un délai à l'intérieur du callback pour que l'utilisateur ait le temps de lire l'Écran De Fin, car cela se produit instantanément lorsque l'on atteint le dernier écran. Vous pouvez également utiliser onClose.

widget.onComplete = function (event) {
   console.log(event.type); // “complete”
   console.log(event.data); // {}
   console.log("Le score de l'utilisateur était de" + event.data.gameMetrics.score);
};


onResize


Se produit lorsque le moteur a redimensionné, fournissant la hauteur comme valeur en pixels.

widget.onResize = function (event) {
   console.log(event.type); // “resize”
   console.log(event.data); // {}
   console.log("Hauteur de l'application :" + event.data.height);
};


onClose


L'application peut être configurée avec un bouton fermer dédié permettant à l'utilisateur de fermer l'expérience implicitement. Si ce bouton est configuré et que l'utilisateur interagit avec, alors l'événement fermer sera déclenché. C'est un bon moment pour détruire le widget de votre page et terminer son cycle de vie.

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


onFirstInteraction


Lorsque l'utilisateur interagit (touche/clic) avec l'application chargée pour la première fois.

widget.onFirstInteraction = function () {
   console.log("L'utilisateur a interagi avec l'application pour la première fois");
};


onRouteChange


Se produit lorsque l'application a changé de route au sein du widget. (Navigation entre les écrans). L'événement peut ou non contenir un objet données selon le contexte.

widget.onRouteChange = function (event) {
   console.log(event.type) // “routechange”
   console.log(event.data) // {} ou undefined
   console.log("L'utilisateur a interagi avec l'application pour la première fois");
};


onScrollToTop


Se produit lorsque l'application tente de revenir en haut de la page. Peut être utilisé sur la page parente pour s'assurer que le défilement n'est pas exécuté (CORS) ou doit être ajusté. L'événement ne contient pas d'objet données.

widget.onScrollToTop = function () {
   console.log("Défilement en haut");
};


Indicateurs



Voici une liste des indicateurs clés qui peuvent être utilisés en fonction du type de jeu :

CléDescription
data.gameMetrics.CurrentAttemptLes tentatives de l'utilisateur une fois qu'il a terminé le jeu.
data.gameMetrics.prizeIDL'ID du prix.
data.gameMetrics.prizeImageL'image du prix.
data.gameMetrics.prizeNameLe nom du prix.
data.gameMetrics.prizeRefLa référence du prix.
data.gameMetrics.totalPossibleAttemptsLe nombre total de tentatives possibles.
data.gameMetrics.userWonvrai/faux selon le statut de l'utilisateur.
data.gameMetrics.scoreLe nombre total de points cumulés avec lesquels cet utilisateur termine le jeu.


Identifiants


CléDescription
data.credentials.isPreviewModeVérifie si le jeu est en mode prévisualisation.
data.credentials.projectIDL'ID de l'application jouée actuellement.
data.credentials.projectLanguageLa langue du projet dans le widget (en, fr).
data.credentials.projectNameLe nom de l'application.
data.credentials.projectTypeLe type d'application (quiz, memory...).
data.credentials.publisherIDL'ID de l'éditeur.
data.credentials.sessionIDL'ID de session du joueur actuel.

Mis à jour le : 22/02/2025

Cet article a-t-il répondu à vos questions ?

Partagez vos commentaires

Annuler

Merci !