From 66f5b62adc5b5fd610fa59c9d122dac669c1f3de Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Wed, 5 Feb 2020 16:06:38 +0100
Subject: [PATCH] #356 - added custom dimension to Matomo, to track
 electron/cordova clients

---
 src/app/app.component.ts | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 56aaaaa20..6d6f9fb6c 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -103,6 +103,8 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
 
     // évite de mettre en place un bandeau RGPD
     this.matomoTracker.disableCookies();
+    // Set custom dimension for Electron / Cordova / pure Web browser
+    this.matomoTracker.setCustomDimension(1, this.getRunningPlatform());
     // Matomo open-source Web analytics
     this.matomoInjector.init("https://stasi.g-eau.fr/", 1);
 
@@ -819,6 +821,21 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
     return "assets/docs/" + this.appSetupService.language + "/index.html";
   }
 
+  /**
+   * Returns a string representing the running platform :
+   * "cordova", "electron", or "browser"
+   */
+  public getRunningPlatform(): string {
+    let runningPlatform = "browser";
+    if (navigator.userAgent.toLowerCase().indexOf("electron") > -1) {
+      runningPlatform = "electron";
+    } else if (window.cordova) {
+      runningPlatform = "cordova";
+    }
+    // console.log(">> running platform: ", runningPlatform);
+    return runningPlatform;
+  }
+
   /**
    * détection de la fermeture de la page/navigateur et demande de confirmation
    */
-- 
GitLab