feat: Makes the google analytics tracking id configurable.

This commit is contained in:
Boris Grozev 2018-02-12 13:36:10 -06:00
parent a370a88d19
commit 03fc711e81
3 changed files with 16 additions and 4 deletions

View File

@ -4,16 +4,23 @@
/**
*
*/
function Analytics() {
function Analytics(options) {
/* eslint-disable */
if (!options.googleAnalyticsTrackingId) {
console.log(
'Failed to initialize Google Analytics handler, no tracking ID');
return;
}
/**
* Google Analytics
* TODO: Keep this local, there's no need to add it to window.
*/
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-319188-14', 'jit.si');
ga('create', options.googleAnalyticsTrackingId, 'jit.si');
ga('send', 'pageview');
/* eslint-enable */
@ -114,7 +121,7 @@
* lib-jitsi-meet.
*/
Analytics.prototype.sendEvent = function(event) {
if (!event) {
if (!event || !ga) {
return;
}

View File

@ -313,6 +313,9 @@ var config = {
// "https://example.com/my-custom-analytics.js"
// ],
// The Google Analytics Tracking ID
// googleAnalyticsTrackingId = 'your-tracking-id-here-UA-123456-1',
// Information about the jitsi-meet instance we are connecting to, including
// the user region as seen by the server.
deploymentInfo: {

View File

@ -43,10 +43,12 @@ export function initAnalytics({ getState }: { getState: Function }) {
const state = getState();
const config = state['features/base/config'];
const { analyticsScriptUrls, deploymentInfo } = config;
const { analyticsScriptUrls, deploymentInfo, googleAnalyticsTrackingId }
= config;
const { group, server, user } = state['features/base/jwt'];
const handlerConstructorOptions = {
envType: (deploymentInfo && deploymentInfo.envType) || 'dev',
googleAnalyticsTrackingId,
group,
product: deploymentInfo && deploymentInfo.product,
subproduct: deploymentInfo && deploymentInfo.environment,