UNPKG

vadr-aframe-vr

Version:

Analytics package for AFrame based VR applications by VadR

122 lines (77 loc) 2.92 kB
import vadrCore from 'vadr-core-vr'; import dataCollector from './js/collector'; vadrCore.config.setSdk('AFrame'); AFRAME.registerComponent('vadr-analytics', { schema: { appId: {type: 'string'}, appToken: {type: 'string'}, sceneId: {type: 'string', default: ""}, sceneName: {type: 'string', default: ""}, testMode: {type: 'boolean', default: false}, version: {type: 'string', default: '1.0.0'} }, init: function () { const currentScene = this.el.sceneEl; const sceneId = this.data.sceneId; const sceneName = this.data.sceneName; if (!sceneId && !sceneName){ vadrCore.logger.error('Either SceneId or SceneName required for scene initialization.'); return; } vadrCore.config.setApplication(this.data.appId, this.data.appToken, this.data.version); vadrCore.config.setTestMode(this.data.testMode); dataCollector.init(); dataCollector.setScene(currentScene.object3D); vadrCore.setDataConfig.performance(true, 1000); vadrCore.setDataConfig.orientation(true, 300); vadrCore.setDataConfig.gaze(true, 300); currentScene.addEventListener('camera-set-active', (event) => { dataCollector.setCamera(event.detail.cameraEl); }); currentScene.addEventListener('enter-vr', () => { vadrCore.playState.headsetApplied(); }); currentScene.addEventListener('exit-vr', () => { vadrCore.playState.headsetRemoved(); }); document.addEventListener('visibilitychange', this.handeVisibilityChange.bind(this)); vadrCore.initVadRAnalytics(); vadrCore.scene.addScene(sceneId, sceneName); }, handeVisibilityChange: function(){ if (document.visibilityState == 'visible'){ this.play(); }else{ this.pause(); } }, play: function(){ vadrCore.playState.appInFocus(); }, pause: function(){ vadrCore.playState.appOutOfFocus(); }, update: function (data) { }, tick: function(time, timeDelta){ vadrCore.tick(time, timeDelta); }, remove: function(){ document.removeEventListener('visibilityChange', this.handeVisibilityChange); vadrCore.destroy(); } }); export default { setCamera: dataCollector.setCamera, setLongitudeZeroOffset: dataCollector.setLongitudeZeroOffset, user: vadrCore.user, setSessionInfo: vadrCore.setSessionInfo, setDataConfig: vadrCore.setDataConfig, media: vadrCore.media, scene: vadrCore.scene, registerEvent: vadrCore.registerEvent, playState: vadrCore.playState, enums: vadrCore.enums, setLogLevel: vadrCore.setLogLevel };