mirror of
https://github.com/WowUp/WowUp.git
synced 2026-05-24 22:46:45 -04:00
Last of the tracking
This commit is contained in:
@@ -40,7 +40,8 @@
|
||||
<button mat-button (click)="onClose()">
|
||||
{{'DIALOGS.INSTALL_FROM_URL.CLOSE_BUTTON' | translate}}
|
||||
</button>
|
||||
<button mat-flat-button color="primary" cdkFocusInitial (click)="onImportUrl()">
|
||||
<button mat-flat-button color="primary" cdkFocusInitial (click)="onImportUrl()" appUserActionTracker
|
||||
category="InstallFromUrl" action="ImportUrl" [label]="query">
|
||||
{{'DIALOGS.INSTALL_FROM_URL.IMPORT_BUTTON' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
@@ -157,36 +157,44 @@
|
||||
</div>
|
||||
<mat-divider></mat-divider>
|
||||
<mat-checkbox class="mat-menu-item" [checked]="listItem.addon.isIgnored"
|
||||
(change)="onClickIgnoreAddon($event, listItem)">
|
||||
(change)="onClickIgnoreAddon($event, listItem)" appUserActionTracker category="MyAddons" action="IgnoreAddon"
|
||||
[label]="listItem.addon.name">
|
||||
{{'PAGES.MY_ADDONS.ADDON_CONTEXT_MENU.IGNORE_ADDON_BUTTON' | translate}}
|
||||
</mat-checkbox>
|
||||
<mat-checkbox *ngIf="listItem.addon.isIgnored === false" class="mat-menu-item"
|
||||
[checked]="listItem.addon.autoUpdateEnabled" (change)="onClickAutoUpdateAddon($event, listItem.addon)">
|
||||
[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}}
|
||||
</mat-checkbox>
|
||||
<button mat-menu-item [matMenuTriggerFor]="addonChannels">
|
||||
{{'PAGES.MY_ADDONS.ADDON_CONTEXT_MENU.CHANNEL_SUBMENT_TITLE' | translate}}
|
||||
</button>
|
||||
<button mat-menu-item (click)="onShowfolder(listItem.addon)">
|
||||
<button mat-menu-item (click)="onShowfolder(listItem.addon)" appUserActionTracker category="MyAddons"
|
||||
action="ShowAddonFolder" [label]="listItem.addon.name">
|
||||
{{'PAGES.MY_ADDONS.ADDON_CONTEXT_MENU.SHOW_FOLDER' | translate}}
|
||||
</button>
|
||||
<button mat-menu-item (click)="onReInstallAddon(listItem.addon)">
|
||||
<button mat-menu-item (click)="onReInstallAddon(listItem.addon)" appUserActionTracker category="MyAddons"
|
||||
action="ReInstallAddon" [label]="listItem.addon.name">
|
||||
{{'PAGES.MY_ADDONS.ADDON_CONTEXT_MENU.REINSTALL_ADDON_BUTTON' | translate}}
|
||||
</button>
|
||||
<mat-divider></mat-divider>
|
||||
<button mat-menu-item (click)="onRemoveAddon(listItem.addon)">
|
||||
<button mat-menu-item (click)="onRemoveAddon(listItem.addon)" appUserActionTracker category="MyAddons"
|
||||
action="RemoveAddon" [label]="listItem.addon.name">
|
||||
{{'PAGES.MY_ADDONS.ADDON_CONTEXT_MENU.REMOVE_ADDON_BUTTON' | translate}}
|
||||
</button>
|
||||
<mat-menu #addonChannels="matMenu" class="addon-context-menu">
|
||||
<mat-radio-group class="vertical-radio-group" [ngModel]="listItem.addon.channelType"
|
||||
(change)="onSelectedAddonChannelChange($event, listItem.addon)">
|
||||
<mat-radio-button class="mat-menu-item" [value]="0">
|
||||
<mat-radio-button class="mat-menu-item" [value]="0" appUserActionTracker category="MyAddons"
|
||||
action="SetStableAddonChannel" [label]="listItem.addon.name">
|
||||
{{'PAGES.MY_ADDONS.ADDON_CONTEXT_MENU.STABLE_ADDON_CHANNEL' | translate}}
|
||||
</mat-radio-button>
|
||||
<mat-radio-button class="mat-menu-item" [value]="1">
|
||||
<mat-radio-button class="mat-menu-item" [value]="1" appUserActionTracker category="MyAddons"
|
||||
action="SetBetaAddonChannel" [label]="listItem.addon.name">
|
||||
{{'PAGES.MY_ADDONS.ADDON_CONTEXT_MENU.BETA_ADDON_CHANNEL' | translate}}
|
||||
</mat-radio-button>
|
||||
<mat-radio-button class="mat-menu-item" [value]="2">
|
||||
<mat-radio-button class="mat-menu-item" [value]="2" appUserActionTracker category="MyAddons"
|
||||
action="SetAlphaAddonChannel" [label]="listItem.addon.name">
|
||||
{{'PAGES.MY_ADDONS.ADDON_CONTEXT_MENU.ALPHA_ADDON_CHANNEL' | translate}}
|
||||
</mat-radio-button>
|
||||
</mat-radio-group>
|
||||
@@ -217,11 +225,13 @@
|
||||
</div>
|
||||
<mat-menu #updateAllContextMenu="matMenu" class="addon-context-menu">
|
||||
<ng-template matMenuContent let-columns="columns">
|
||||
<button mat-menu-item (click)="onUpdateAllRetailClassic()">
|
||||
<button mat-menu-item (click)="onUpdateAllRetailClassic()" appUserActionTracker category="MyAddons"
|
||||
action="UpdateAllClassicRetail">
|
||||
{{'PAGES.MY_ADDONS.UPDATE_ALL_CONTEXT_MENU.UPDATE_RETAIL_CLASSIC_BUTTON' | translate}}
|
||||
</button>
|
||||
<button mat-menu-item (click)="onUpdateAllClients()">
|
||||
<button mat-menu-item (click)="onUpdateAllClients()" appUserActionTracker category="MyAddons"
|
||||
action="UpdateAllClients">
|
||||
{{'PAGES.MY_ADDONS.UPDATE_ALL_CONTEXT_MENU.UPDATE_ALL_CLIENTS_BUTTON' | translate}}
|
||||
</button>
|
||||
</ng-template>
|
||||
</mat-menu>
|
||||
</mat-menu>
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user