From d9eb69c3e1c4e63bacd59418fa408cc127bdb690 Mon Sep 17 00:00:00 2001 From: jliddev Date: Fri, 16 Oct 2020 22:57:56 -0500 Subject: [PATCH] Last of the tracking --- .../install-from-url-dialog.component.html | 3 +- .../pages/my-addons/my-addons.component.html | 32 +++++++++++------ .../pages/my-addons/my-addons.component.ts | 1 - .../src/app/services/addons/addon.service.ts | 18 +++++++--- .../services/analytics/analytics.service.ts | 34 ++++++++++++------- 5 files changed, 58 insertions(+), 30 deletions(-) diff --git a/wowup-electron/src/app/components/install-from-url-dialog/install-from-url-dialog.component.html b/wowup-electron/src/app/components/install-from-url-dialog/install-from-url-dialog.component.html index 23110f5c..f85a63c8 100644 --- a/wowup-electron/src/app/components/install-from-url-dialog/install-from-url-dialog.component.html +++ b/wowup-electron/src/app/components/install-from-url-dialog/install-from-url-dialog.component.html @@ -40,7 +40,8 @@ - \ No newline at end of file diff --git a/wowup-electron/src/app/pages/my-addons/my-addons.component.html b/wowup-electron/src/app/pages/my-addons/my-addons.component.html index b5848f48..d4dd5111 100644 --- a/wowup-electron/src/app/pages/my-addons/my-addons.component.html +++ b/wowup-electron/src/app/pages/my-addons/my-addons.component.html @@ -157,36 +157,44 @@ + (change)="onClickIgnoreAddon($event, listItem)" appUserActionTracker category="MyAddons" action="IgnoreAddon" + [label]="listItem.addon.name"> {{'PAGES.MY_ADDONS.ADDON_CONTEXT_MENU.IGNORE_ADDON_BUTTON' | translate}} + [checked]="listItem.addon.autoUpdateEnabled" (change)="onClickAutoUpdateAddon($event, listItem.addon)" + appUserActionTracker category="MyAddons" action="AutoUpdateAddon" [label]="listItem.addon.name"> {{'PAGES.MY_ADDONS.ADDON_CONTEXT_MENU.AUTO_UPDATE_ADDON_BUTTON' | translate}} - - - - + {{'PAGES.MY_ADDONS.ADDON_CONTEXT_MENU.STABLE_ADDON_CHANNEL' | translate}} - + {{'PAGES.MY_ADDONS.ADDON_CONTEXT_MENU.BETA_ADDON_CHANNEL' | translate}} - + {{'PAGES.MY_ADDONS.ADDON_CONTEXT_MENU.ALPHA_ADDON_CHANNEL' | translate}} @@ -217,11 +225,13 @@ - - - + \ No newline at end of file diff --git a/wowup-electron/src/app/pages/my-addons/my-addons.component.ts b/wowup-electron/src/app/pages/my-addons/my-addons.component.ts index df89531a..86e7db71 100644 --- a/wowup-electron/src/app/pages/my-addons/my-addons.component.ts +++ b/wowup-electron/src/app/pages/my-addons/my-addons.component.ts @@ -111,7 +111,6 @@ export class MyAddonsComponent implements OnInit, OnDestroy { ) { _sessionService.selectedHomeTab$.subscribe((tabIndex) => { this.isSelectedTab = tabIndex === this.tabIndex; - console.log("TAB CHANGE", tabIndex, this.tabIndex); if (this.isSelectedTab) { this.setPageContextText(); } diff --git a/wowup-electron/src/app/services/addons/addon.service.ts b/wowup-electron/src/app/services/addons/addon.service.ts index b152cbee..edee475d 100644 --- a/wowup-electron/src/app/services/addons/addon.service.ts +++ b/wowup-electron/src/app/services/addons/addon.service.ts @@ -23,6 +23,7 @@ import { FileService } from "../files/file.service"; import { TocService } from "../toc/toc.service"; import { AddonUpdateEvent } from "app/models/wowup/addon-update-event"; import { AddonProviderFactory } from "./addon.provider.factory"; +import { AnalyticsService } from "../analytics/analytics.service"; @Injectable({ providedIn: "root", @@ -37,6 +38,7 @@ export class AddonService { constructor( private _addonStorage: AddonStorageService, + private _analyticsService: AnalyticsService, private _warcraftService: WarcraftService, private _wowUpService: WowUpService, private _downloadService: DownloadSevice, @@ -65,7 +67,12 @@ export class AddonService { ); var searchResults = await Promise.all(searchTasks); - // await _analyticsService.TrackUserAction("Addons", "Search", $"{clientType}|{query}"); + await this._analyticsService.trackUserAction( + "Addons", + "Search", + `${clientType}|${query}` + ); + const flatResults = searchResults.flat(1); return _.orderBy(flatResults, "downloadCount").reverse(); @@ -107,7 +114,6 @@ export class AddonService { for (let clientTypeStr in clientTypeGroups) { const clientType: WowClientType = parseInt(clientTypeStr, 10); - // console.log('clientType', clientType, clientTypeGroups[clientType]); const synced = await this.syncAddons( clientType, @@ -126,7 +132,7 @@ export class AddonService { await this.installAddon(addon.id); updateCt += 1; } catch (err) { - // _analyticsService.Track(ex, "Failed to install addon"); + console.error(err); } } } @@ -209,7 +215,11 @@ export class AddonService { this._addonStorage.set(addon.id, addon); - // await _analyticsService.TrackUserAction("Addons", "InstallById", $"{addon.ClientType}|{addon.Name}"); + await this._analyticsService.trackUserAction( + "Addons", + "InstallById", + `${addon.clientType}|${addon.name}` + ); } catch (err) { console.error(err); diff --git a/wowup-electron/src/app/services/analytics/analytics.service.ts b/wowup-electron/src/app/services/analytics/analytics.service.ts index 5bd14e45..29747f23 100644 --- a/wowup-electron/src/app/services/analytics/analytics.service.ts +++ b/wowup-electron/src/app/services/analytics/analytics.service.ts @@ -31,7 +31,9 @@ export class AnalyticsService { } public get telemetryEnabled() { - const preference = this._preferenceStorageService.findByKey(this.telemetryEnabledKey); + const preference = this._preferenceStorageService.findByKey( + this.telemetryEnabledKey + ); return preference === true.toString(); } @@ -48,7 +50,7 @@ export class AnalyticsService { this._appVersion = _electronService.remote.app.getVersion(); this._installId = this.loadInstallId(); this._telemetryEnabledSrc.next(this.telemetryEnabled); - console.log('installId', this._installId); + console.log("installId", this._installId); } public async trackStartup() { @@ -58,8 +60,12 @@ export class AnalyticsService { }); } - public async trackUserAction(category: string, action: string, label: string = null) { - await this.track(params => { + public async trackUserAction( + category: string, + action: string, + label: string = null + ) { + await this.track((params) => { params.set("t", "event"); params.set("ec", category); params.set("ea", action); @@ -76,12 +82,12 @@ export class AnalyticsService { try { let params = new URLSearchParams(); - params.set('v', '1'); - params.set('tid', AppConfig.googleAnalyticsId); - params.set('cid', this._installId); - params.set('ua', window.navigator.userAgent); - params.set('an', "WowUp Client"); - params.set('av', this._appVersion); + params.set("v", "1"); + params.set("tid", AppConfig.googleAnalyticsId); + params.set("cid", this._installId); + params.set("ua", window.navigator.userAgent); + params.set("an", "WowUp Client"); + params.set("av", this._appVersion); action?.call(this, params); @@ -92,18 +98,20 @@ export class AnalyticsService { fullUrl, {}, { - responseType: 'text' + responseType: "text", } ) .toPromise(); } catch (e) { // eat - console.error(e) + console.error(e); } } private loadInstallId() { - let installId = this._preferenceStorageService.findByKey(this.installIdPreferenceKey); + let installId = this._preferenceStorageService.findByKey( + this.installIdPreferenceKey + ); if (installId) { return installId; }