diff --git a/conference.js b/conference.js index a930bc878..c9304b6b3 100644 --- a/conference.js +++ b/conference.js @@ -13,6 +13,7 @@ import CQEvents from './service/connectionquality/CQEvents'; import UIEvents from './service/UI/UIEvents'; import mediaDeviceHelper from './modules/devices/mediaDeviceHelper'; +import AnalyticsAdapter from './modules/statistics/AnalyticsAdapter'; import {reportError} from './modules/util/helpers'; @@ -889,6 +890,7 @@ export default { return this.useVideoStream(stream); }).then(() => { this.videoSwitchInProgress = false; + AnalyticsAdapter.sendEvent('conference.sharingDesktop.start'); console.log('sharing local desktop'); }).catch((err) => { this.videoSwitchInProgress = false; @@ -934,6 +936,7 @@ export default { ([stream]) => this.useVideoStream(stream) ).then(() => { this.videoSwitchInProgress = false; + AnalyticsAdapter.sendEvent('conference.sharingDesktop.stop'); console.log('sharing local video'); }).catch((err) => { this.useVideoStream(null); @@ -1292,6 +1295,7 @@ export default { try { room.selectParticipant(id); } catch (e) { + AnalyticsAdapter.sendEvent('selectParticipant.failed'); reportError(e); } }); @@ -1316,6 +1320,7 @@ export default { APP.UI.addListener( UIEvents.VIDEO_DEVICE_CHANGED, (cameraDeviceId) => { + AnalyticsAdapter.sendEvent('settings.changeDevice.video'); createLocalTracks({ devices: ['video'], cameraDeviceId: cameraDeviceId, @@ -1336,6 +1341,7 @@ export default { APP.UI.addListener( UIEvents.AUDIO_DEVICE_CHANGED, (micDeviceId) => { + AnalyticsAdapter.sendEvent('settings.changeDevice.audioIn'); createLocalTracks({ devices: ['audio'], cameraDeviceId: null, @@ -1356,6 +1362,7 @@ export default { APP.UI.addListener( UIEvents.AUDIO_OUTPUT_DEVICE_CHANGED, (audioOutputDeviceId) => { + AnalyticsAdapter.sendEvent('settings.changeDevice.audioOut'); APP.settings.setAudioOutputDeviceId(audioOutputDeviceId) .then(() => console.log('changed audio output device')) .catch((err) => { diff --git a/modules/UI/Feedback.js b/modules/UI/Feedback.js index 3b8eb3bab..cd7716cd0 100644 --- a/modules/UI/Feedback.js +++ b/modules/UI/Feedback.js @@ -1,5 +1,6 @@ /* global $, APP, config, interfaceConfig */ import UIEvents from "../../service/UI/UIEvents"; +import AnalyticsAdapter from '../statistics/AnalyticsAdapter'; /** * Constructs the html for the overall feedback window. @@ -199,9 +200,12 @@ var Feedback = { var feedbackDetails = document.getElementById("feedbackTextArea").value; - if (feedbackDetails && feedbackDetails.length > 0) + if (feedbackDetails && feedbackDetails.length > 0) { + AnalyticsAdapter.sendEvent( + 'feedback.rating', Feedback.feedbackScore); APP.conference.sendFeedback( Feedback.feedbackScore, feedbackDetails); + } if (feedbackWindowCallback) feedbackWindowCallback(); @@ -227,6 +231,7 @@ var Feedback = { closeText: '', loaded: onLoadFunction, position: {width: 500}}, null); + AnalyticsAdapter.sendEvent('feedback.open'); }, /** * Toggles the appropriate css class for the given number of stars, to diff --git a/modules/UI/toolbars/Toolbar.js b/modules/UI/toolbars/Toolbar.js index c1e79de92..61812fdbe 100644 --- a/modules/UI/toolbars/Toolbar.js +++ b/modules/UI/toolbars/Toolbar.js @@ -26,8 +26,12 @@ function openLinkDialog () { false, "dialog.Invite", function (e, v) { if (v && roomUrl) { + AnalyticsAdapter.sendEvent('toolbar.invite.button'); emitter.emit(UIEvents.USER_INVITED, roomUrl); } + else { + AnalyticsAdapter.sendEvent('toolbar.invite.cancel'); + } }, function (event) { if (roomUrl) { @@ -37,6 +41,10 @@ function openLinkDialog () { $(event.target).find('button[value=true]').prop('disabled', true); } } + }, + function (e, v, m, f) { + if(!v && !m && !f) + AnalyticsAdapter.sendEvent('toolbar.invite.close'); } ); }