Game Design Game Development Geek / Technical

Freshly Squeezed Progress Report – Android Requirements

Last week, I reported that Toy Factory Fixer was pretty much feature complete, and that all I needed to do next was package it up and submit it to the main app stores.

So how did it go? Well, I can say I anticipated needing to do extra work for compatibility with new platform requirements.

Sprint 51: Release criteria

Planned and Complete:

  • Update CTA URLs so they are more informative

Planned and Incomplete:

  • Update Android targetSdkVersion to 30
  • Create a strategy guide

I’ll start with what turned out to be the easier thing. The entire point of this game, and the Freshly Squeezed series of games I want to make, is that they are meant to be playable, relatively polished prototypes that I give away for free to make it easier for players to find them, play them, and if they enjoy them enough that they want to know more, they can sign up for the GBGames Curiosities newsletter (see below). Then, not only is it easier for me to tell fans about the games they’ve expressed interest in learning more about, but I hope that they become customers as well as collaborators who share with me what they would love to see me make so that they are more likely to be even more interested in what games I make.

For instance, I got an email from someone who is excited about Toy Factory Fixer and read that it will be available for mobile devices but would really like a PC version of the game to play with his daughter. So while I don’t have specific plans to create a desktop version of the game, I think I’ll make it a higher priority.

In the game, I have Calls to Action (CTAs) to ask people to sign up for the mailing list, and a colleague suggested that after going through all the trouble of putting this game together, I should do more to track which of the CTAs a player pressed so that I can be better informed going forward.

And that’s brilliant, so I worked on it, which involved changing the URL so that it provides URL parameters that tell me which of my games the player was playing, which OS (Android or iOS), which menu the button was on, and which variation of the button’s text was shown.

I don’t intend to add any kind of in-game tracking. As useful as it is, I would rather that the player not have to worry about my game needing permission to “phone home” with secret information, so I’m going without. But I think opening links to my website is fair game, as they player has already shown purposeful intent to go to my website.

I had to learn a bit about how my website’s analytics worked so that I could create a URL that makes sense, but I got it done.

Toy Factory Fixer - Call to Action on options screen

So, NOW I’m done with coding in the game. Let’s package things up!

Android requires new apps to target SDK 30. I expected this was either a one-liner fix in an Android manifest file to change from SDK 29 to 30, or it was going to involve figuring out what all changed on the Android side that would prevent things from just working.

When I build a debug Android apk and installed it on my Android 11 phone, I got excited that it seemed to work just fine.

But then I tried to tap on one of the CTA buttons that should open the browser and take you to this website, and it just…didn’t?

I can hear the audio feedback telling me that the game definitely knows you are trying to go to my website from within the game’s menu, but it wouldn’t.

So I checked the logs, and I can see:

AppsFilter: interaction: PackageSetting{[myApp's info]} -> PackageSetting{[Chrome's info]} BLOCKED

What the-?



Ok, so I double-checked, and before I targeted SDK 30, this functionality did work, so I think it is clear the only difference has to be related to some new requirements that Android’s SDK introduced.

It’s a little annoying that the app otherwise works correctly if I continue targeting an older SDK, but due to Google Play’s requirements, I need to target 30, which means I need to figure it out.

Unfortunately, it was late in the week when I discovered this issue, so I’m hoping it will be relatively quick work to investigate and fix it, but it is an annoying delay for an otherwise finished game.

I hope the iOS build isn’t similarly going to give me issues, but I’ll worry about that one later.

Thanks for reading!

Want to learn when I release updates to Toytles: Leaf Raking or about future Freshly Squeezed games I am creating? Sign up for the GBGames Curiosities newsletter, and get the 24-page, full color PDF of the Toytles: Leaf Raking Player’s Guide for free!