1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2026-03-02 03:39:21 +00:00

A/B test whether showing the price is good or not

This commit is contained in:
tobspr
2020-09-29 18:26:38 +02:00
parent 8b7c0a91cd
commit 1c88b99de3
8 changed files with 32 additions and 17 deletions

View File

@@ -25,6 +25,8 @@ export const THIRDPARTY_URLS = {
standaloneStorePage: "https://store.steampowered.com/app/1318690/shapezio/",
};
export const A_B_TESTING_LINK_TYPE = Math.random() > 0.5 ? "steam_1_pr" : "steam_2_npr";
export const globalConfig = {
// Size of a single tile in Pixels.
// NOTICE: Update webpack.production.config too!

View File

@@ -1,4 +1,4 @@
import { THIRDPARTY_URLS } from "../../../core/config";
import { A_B_TESTING_LINK_TYPE, THIRDPARTY_URLS } from "../../../core/config";
import { InputReceiver } from "../../../core/input_receiver";
import { makeDiv } from "../../../core/utils";
import { T } from "../../../translations";
@@ -33,16 +33,17 @@ export class HUDStandaloneAdvantages extends BaseHUDPart {
</div>
<div class="lowerBar">
<button class="steamLinkButton">
<button class="steamLinkButton ${A_B_TESTING_LINK_TYPE}"></button>
<button class="otherCloseButton">${T.ingame.standaloneAdvantages.no_thanks}</button>
</button>
</div>
`
);
this.trackClicks(this.contentDiv.querySelector("button.steamLinkButton"), () => {
this.root.app.analytics.trackUiClick("standalone_advantage_visit_steam");
this.root.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.standaloneStorePage + "?ref=savs");
this.root.app.platformWrapper.openExternalLink(
THIRDPARTY_URLS.standaloneStorePage + "?ref=savs&prc=" + A_B_TESTING_LINK_TYPE
);
this.close();
});
this.trackClicks(this.contentDiv.querySelector("button.otherCloseButton"), () => {

View File

@@ -1,6 +1,6 @@
import { GameState } from "../core/game_state";
import { cachebust } from "../core/cachebust";
import { globalConfig, IS_DEMO, THIRDPARTY_URLS } from "../core/config";
import { A_B_TESTING_LINK_TYPE, globalConfig, IS_DEMO, THIRDPARTY_URLS } from "../core/config";
import {
makeDiv,
makeButtonElement,
@@ -52,7 +52,7 @@ export class MainMenuState extends GameState {
<p>${T.demoBanners.intro}</p>
<a href="#" class="steamLink" target="_blank">Get the shapez.io standalone!</a>
<a href="#" class="steamLink ${A_B_TESTING_LINK_TYPE}" target="_blank">Get the shapez.io standalone!</a>
`;
return `
@@ -311,8 +311,11 @@ export class MainMenuState extends GameState {
}
onSteamLinkClicked() {
this.app.analytics.trackUiClick("main_menu_steam_link_2");
this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.standaloneStorePage + "?ref=mmsl2");
this.app.analytics.trackUiClick("main_menu_steam_link_" + A_B_TESTING_LINK_TYPE);
this.app.platformWrapper.openExternalLink(
THIRDPARTY_URLS.standaloneStorePage + "?ref=mmsl2&prc=" + A_B_TESTING_LINK_TYPE
);
return false;
}