L'API complète d'Emersya vous permet de créer facilement et de manière transparente vos propres interfaces.
Vous pourrez effectuer des changements parmi les options disponibles, passer d'un point de vue à un autre, détecter les interactions provenant de la vue 3D, et bien plus encore.
L'API Emersya fournie tout ce dont vous avez besoin pour créer les experiences d'achat les plus évoluées et cela sans compétences avancées en développement. De simples connaissances basiques en HTML et Javascript suffisent.
Toujours essayer de créer votre code afin de grouper les appels à l'API
Par exemple de ne pas oublier de :
Dans le cas où vous ne pouvez pas les regrouper, il est très important de toujours attendre l'événement "onSuccess" avant de faire un nouvel appel à l'API
Ne pas appeller de nouvelle fonction de configuration avant d'avoir reçu l'événement "onSuccess" de la précédente
Par exemple :
- Ne pas appeller une transaction en même temps qu'un "setMaterialsGroupConfiguration".
- Ne pas appeller de "setMaterialsGroupConfiguration" en même temps qu'un "applyPreset".
- Ne pas appeller "applyPreset" en même temps qu'une transaction.
Les fonctions updateCustomTexture et updateCustomText replacent les textures de manière instantanée. Il est possible de voir la texture disparaître durant le chargement de la nouvelle.
La meilleure solution dans ce cas, est de faire la mise à jour pendant que la texture n'est pas visible et de la faire apparaître après le chargement.
Une fois que l'iframe a été embarqué dans votre page, il est possible d'appeller les fonctions de l'API afin de prendre le contrôle sur la 3D.
Pour faire cela, il faut dans un premier temps récupérer le DOM de l'élément contenant l'iframe.
viewerIframe = document.getElementById("emersyaIframe").contentWindow;
Vous devrez ensuite appeller l'API avec la fonction postMessage
Pour tous les appels à l'API, il est nécessaire d'avoir au préalable appeller la fonction registerCallback
viewerIframe.postMessage({action : "registerCallback"}, "*");
La dernière étape est de recevoir les données envoyées par la visonneuse. Dans ce but, vous devrez premièrement ajouter un event listener sur votre "window" courante.
Exemple : Comment récupérer l'état de la visionneuse durant le chargement :
window.addEventListener("message", function(event){
if(event && event.data && event.data.action == " onStateChange "){
// The data is accessible in the event.data object
}
}, false);