Tracking update

This commit is contained in:
silas
2018-10-01 21:51:24 +02:00
parent d37fc8254e
commit c0a977afd7
13 changed files with 230 additions and 98 deletions

View File

@@ -1,4 +1,4 @@
<div class="max-height fill-me overflow-y-scroll">
<div class="max-height fill-me overflow-y-auto">
<ul class="menu vertical plain dropdown hidden" id="settings-fragment-list"></ul>
<div class="row">
<div class='columns small-centered small-12 smedium-11 medium-9 large-7'>

View File

@@ -12,27 +12,6 @@ export class WordRotatorSettingFragment extends LocalStorageSettingsFragment {
}
onFirstStart() {
// let themeTemplate = this.findBy("#theme-radio-template");
// delete themeTemplate["id"];
// let themeTemplateContainer = themeTemplate.parentNode;
// themeTemplateContainer.removeAllChildren();
//
// for (let i = 0; i < ThemeManager.themes.length; i++) {
// let themeElem = Helper.cloneNode(themeTemplate);
// let theme = ThemeManager.themes[i];
// themeElem.appendChild(Translator.makePersistentTranslation(theme._name));
//
// let inputElem = themeElem.querySelector("input");
// inputElem.value = theme._className;
//
// inputElem.addEventListener("change", function() {
// if (this.checked){
// ThemeManager.changeCurrentTheme(theme)
// }
// });
// themeTemplateContainer.appendChild(themeElem);
// }
let currentThemeName = ThemeManager.currentTheme._name;
SettingsManager.getInstance().setSetting("theme", currentThemeName);
@@ -84,6 +63,11 @@ export class WordRotatorSettingFragment extends LocalStorageSettingsFragment {
return super.onFirstStart();
}
onStart() {
Matomo.update("Settings Site");
super.onStart();
}
}
InitPromise.addPromise(function () {

View File

@@ -1,11 +1,17 @@
import {WordRotatorBaseSite} from "./WordRotatorBaseSite";
import {InitPromise} from "../../../../../js/lib/pwa-lib";
import {PrivacyPolicySite} from "./PrivacyPolicySite";
import {Matomo} from "../../../../../js/lib/pwa-assets";
export class CreditsSite extends WordRotatorBaseSite{
constructor(siteManager) {
super(siteManager, "html/application/credits.html", "credits");
}
onStart(args) {
Matomo.update("Credits Site");
return super.onStart(args);
}
}
InitPromise.addPromise(app => {

View File

@@ -1,7 +1,13 @@
import {WordRotatorBaseSite} from "./WordRotatorBaseSite";
import {Matomo} from "../../../../../js/lib/pwa-assets";
export class EndSite extends WordRotatorBaseSite{
constructor(siteManager) {
super(siteManager, "html/application/end.html");
}
onStart(args) {
Matomo.update("End Site");
return super.onStart(args);
}
}

View File

@@ -2,7 +2,7 @@ import {FlashMessenger, Helper, Menu, MenuAction, SystemSettings} from "../../..
import {TemplateContainer} from "../wordrotator/Segment/TemplateContainer";
import {LevelHelper} from "../wordrotator/Level/LevelHelper";
import {WordRotatorDb} from "../WordRotatorDb";
import {ScaleHelper, SoundManager} from "../../../../../js/lib/pwa-assets";
import {Matomo, ScaleHelper, SoundManager} from "../../../../../js/lib/pwa-assets";
import {EndSite} from "./EndSite";
import {WordRotatorBaseSite} from "./WordRotatorBaseSite";
import {SettingsManager} from "../../../../../js/lib/pwa-core";
@@ -133,7 +133,9 @@ export class LevelSite extends WordRotatorBaseSite {
this.levelScaler = await scaleHelper.scaleToFull(levelSegment, levelSegment.parentElement, false, false, 1, level.words[0].length * 1.5, null, 0);
this.level = level;
return this.tutorial();
let res = this.tutorial();
Matomo.push(["trackEvent", "LevelSite", "LoadLastLevel"]);
return res;
}
}
catch (e) {
@@ -181,6 +183,10 @@ export class LevelSite extends WordRotatorBaseSite {
this.wonParams.aborted = true;
clearTimeout(this.wonParams.coinCounterTimer);
//LevelCounter * 2 - 1, damit der durchschnittswert stimmt
Matomo.push(["trackEvent", "LevelSite", "NextLevel", "Level Number Average", this.levelCounter*2-1]);
Matomo.push(["trackEvent", "LevelSite", "NextLevel", "Level Number Normal", this.levelCounter]);
return this.tutorial();
}
catch (e) {
@@ -189,6 +195,7 @@ export class LevelSite extends WordRotatorBaseSite {
}
onStart(args) {
Matomo.update("Level Site");
let res = super.onStart(args);
if (this.levelCounterAction) {
@@ -278,6 +285,8 @@ export class LevelSite extends WordRotatorBaseSite {
this.continueButtonScaler();
this.levelScaler();
Matomo.push(["trackEvent", "LevelSite", "LevelWon", "Coins", parseInt(Helper.nonNull(localStorage.getItem("coins"), "0"))]);
await savePromise;
}
catch (e) {
@@ -308,14 +317,16 @@ export class LevelSite extends WordRotatorBaseSite {
}
segmentToHelp.setIsRotatable(false);
this.level.saveAsCurrentLevel();
Matomo.push(["trackEvent", "LevelSite", "Help", "Coins", parseInt(Helper.nonNull(localStorage.getItem("coins"), "0"))]);
}
else {
FlashMessenger.addMessage("not-enough-coins");
Matomo.push(["trackEvent", "LevelSite", "Help", "Not enough Coins", parseInt(Helper.nonNull(localStorage.getItem("coins"), "0"))]);
}
}
async tutorial() {
if (this.level.id === LevelSite.TUTORIAL.FIRST_LEVEL) {
let currentStep = Helper.nonNull(localStorage.getItem("tutorial-step"), "1");

View File

@@ -1,6 +1,6 @@
import {WordRotatorBaseSite} from "./WordRotatorBaseSite";
import {LevelSite} from "./LevelSite";
import {ScaleHelper, SoundManager} from "../../../../../js/lib/pwa-assets";
import {Matomo, ScaleHelper, SoundManager} from "../../../../../js/lib/pwa-assets";
import {TemplateContainer} from "../wordrotator/Segment/TemplateContainer";
import {MainMenuLevel} from "../wordrotator/Level/MainMenuLevel";
import {FlashMessenger, Helper, InitPromise} from "../../../../../js/lib/pwa-lib";
@@ -15,6 +15,7 @@ export class MenuSite extends WordRotatorBaseSite {
}
onStart(args) {
Matomo.update("Menu Site");
let res = super.onStart(args);
let level = new MainMenuLevel(this.templateContainer);
@@ -22,6 +23,7 @@ export class MenuSite extends WordRotatorBaseSite {
level.createSegments();
level.getWonPromise().then(() => {
Matomo.push(["trackEvent", "MainMenu", "levelSolved"]);
this.startSite(LevelSite);
});
@@ -90,6 +92,7 @@ export class MenuSite extends WordRotatorBaseSite {
let playButton = this.findBy("#play-button");
playButton.addEventListener("click", () => {
Matomo.push(["trackEvent", "MainMenu", "startButton"]);
this.startSite(LevelSite, this.loadLevelPromise);
});
@@ -129,6 +132,7 @@ export class MenuSite extends WordRotatorBaseSite {
if (playMusicButton.checked){
soundManager.play(SoundManager.CHANNELS.MUSIC);
}
Matomo.push(["trackEvent", "MainMenu", "PlayMusic", "Play Music", (playMusicButton.checked)?1:0]);
});
let playSoundButton = this.findBy("#play-sound");
@@ -136,6 +140,7 @@ export class MenuSite extends WordRotatorBaseSite {
playSoundButton.addEventListener("change", () => {
settingsManager.setSetting("play-sound", playSoundButton.checked);
soundManager.set({muted: !playSoundButton.checked}, SoundManager.CHANNELS.SOUND);
Matomo.push(["trackEvent", "MainMenu", "PlaySound", "Play Sound", (playSoundButton.checked)?1:0]);
});
}

View File

@@ -1,10 +1,16 @@
import {WordRotatorBaseSite} from "./WordRotatorBaseSite";
import {InitPromise} from "../../../../../js/lib/pwa-lib";
import {Matomo} from "../../../../../js/lib/pwa-assets";
export class PrivacyPolicySite extends WordRotatorBaseSite {
constructor(siteManager) {
super(siteManager, "html/application/privacyPolicy.html", "privacyPolicy");
}
onStart(args) {
Matomo.update("Privacy Policy Site");
return super.onStart(args);
}
}
InitPromise.addPromise(app => {