Further abt testing, v2

This commit is contained in:
tobspr 2022-06-15 21:29:10 +02:00
parent 0a733907d5
commit 9d28a1f2f6
4 changed files with 78 additions and 35 deletions

View File

@ -39,15 +39,63 @@
@include IncreasedClickArea(0px); @include IncreasedClickArea(0px);
@include S(margin-top, 15px); @include S(margin-top, 15px);
@include InlineAnimation(5s ease-in-out) { &[data-btn-variant="0"] {
0% { // nothing
opacity: 0.05; }
&[data-btn-variant="1"] {
@include InlineAnimation(1s ease-in-out) {
0% {
opacity: 0.05;
}
50% {
opacity: 0.05;
}
100% {
opacity: 1;
}
} }
50% { }
opacity: 0.05;
&[data-btn-variant="2"] {
@include InlineAnimation(2.5s ease-in-out) {
0% {
opacity: 0.05;
}
50% {
opacity: 0.05;
}
100% {
opacity: 1;
}
} }
100% { }
opacity: 1;
&[data-btn-variant="3"] {
@include InlineAnimation(5s ease-in-out) {
0% {
opacity: 0.05;
}
50% {
opacity: 0.05;
}
100% {
opacity: 1;
}
}
}
&[data-btn-variant="4"] {
@include InlineAnimation(10s ease-in-out) {
0% {
opacity: 0.05;
}
80% {
opacity: 0.05;
}
100% {
opacity: 1;
}
} }
} }
} }

View File

@ -21,7 +21,7 @@ export const THIRDPARTY_URLS = {
privacyPolicy: "https://tobspr.io/privacy.html", privacyPolicy: "https://tobspr.io/privacy.html",
standaloneCampaignLink: "https://get.shapez.io/$campaign", standaloneCampaignLink: "https://get.shapez.io/bundle/$campaign",
puzzleDlcStorePage: "https://store.steampowered.com/app/1625400/shapezio__Puzzle_DLC", puzzleDlcStorePage: "https://store.steampowered.com/app/1625400/shapezio__Puzzle_DLC",
levelTutorialVideos: { levelTutorialVideos: {

View File

@ -39,7 +39,9 @@ export class HUDStandaloneAdvantages extends BaseHUDPart {
: "" : ""
} }
</button> </button>
<button class="otherCloseButton">${T.ingame.standaloneAdvantages.no_thanks}</button> <button class="otherCloseButton" data-btn-variant="${this.root.app.gameAnalytics.abtVariant}">${
T.ingame.standaloneAdvantages.no_thanks
}</button>
</div> </div>
` `
); );

View File

@ -18,8 +18,8 @@ const analyticsUrl = G_IS_DEV ? "http://localhost:8001" : "https://analytics.sha
// Be sure to increment the ID whenever it changes // Be sure to increment the ID whenever it changes
const analyticsLocalFile = G_IS_STEAM_DEMO ? "shapez_token_steamdemo.bin" : "shapez_token_123.bin"; const analyticsLocalFile = G_IS_STEAM_DEMO ? "shapez_token_steamdemo.bin" : "shapez_token_123.bin";
const CURRENT_ABT = "abt_spl"; const CURRENT_ABT = "abt_sacb";
const CURRENT_ABT_COUNT = 2; const CURRENT_ABT_COUNT = 5;
export class ShapezGameAnalytics extends GameAnalyticsInterface { export class ShapezGameAnalytics extends GameAnalyticsInterface {
constructor(app) { constructor(app) {
@ -52,36 +52,29 @@ export class ShapezGameAnalytics extends GameAnalyticsInterface {
} }
fetchABVariant() { fetchABVariant() {
return this.app.storage return this.app.storage.readFileAsync("shapez_" + CURRENT_ABT + ".bin").then(
.readFileAsync("shapez_" + CURRENT_ABT + ".bin") abt => {
.then( if (typeof queryParamOptions.abtVariant === "string") {
abt => { this.abtVariant = queryParamOptions.abtVariant;
logger.log("Set", CURRENT_ABT, "to (OVERRIDE) ", this.abtVariant);
} else {
this.abtVariant = abt;
logger.log("Read abtVariant:", abt);
}
},
err => {
if (err === FILE_NOT_FOUND) {
if (typeof queryParamOptions.abtVariant === "string") { if (typeof queryParamOptions.abtVariant === "string") {
this.abtVariant = queryParamOptions.abtVariant; this.abtVariant = queryParamOptions.abtVariant;
logger.log("Set", CURRENT_ABT, "to (OVERRIDE) ", this.abtVariant); logger.log("Set", CURRENT_ABT, "to (OVERRIDE) ", this.abtVariant);
} else { } else {
this.abtVariant = abt; this.abtVariant = String(randomInt(0, CURRENT_ABT_COUNT - 1));
logger.log("Read abtVariant:", abt); logger.log("Set", CURRENT_ABT, "to", this.abtVariant);
}
},
err => {
if (err === FILE_NOT_FOUND) {
if (typeof queryParamOptions.abtVariant === "string") {
this.abtVariant = queryParamOptions.abtVariant;
logger.log("Set", CURRENT_ABT, "to (OVERRIDE) ", this.abtVariant);
} else {
this.abtVariant = String(randomInt(0, CURRENT_ABT_COUNT - 1));
logger.log("Set", CURRENT_ABT, "to", this.abtVariant);
}
this.app.storage.writeFileAsync("shapez_" + CURRENT_ABT + ".bin", this.abtVariant);
} }
this.app.storage.writeFileAsync("shapez_" + CURRENT_ABT + ".bin", this.abtVariant);
} }
) }
.then(() => { );
if (this.abtVariant === "1") {
THIRDPARTY_URLS.standaloneCampaignLink = "https://get.shapez.io/bundle/$campaign";
}
});
} }
/** /**