I’ve entered apps in an overseas contest. The requirement is that judges evaluate them between October 1 and October 13 by installing them from the store URL onto their own devices.

On September 1, while working on a different app, I happened to open Kiroku’s Play Console, and the blood drained from my face.

The list of countries had exactly one entry: “Japan.”

When a judge living abroad opens the store URL, all they get is a message saying the app isn’t available in their country. They can’t even open the app. It can’t be evaluated at all.

Promo codes don’t solve it

For judges’ access to Kiroku, I’d set up promo codes so they could try the paid features: 10 one-time codes and 2000 custom codes, issued with a 30-day trial. I thought I had this part perfectly prepared.

But if the app itself is blocked by country, handing out codes is completely meaningless.

The country setting was a constraint that sits above promo codes. I got the order wrong: before refining “how to present the purchase flow,” I should have checked “can they install it at all.”

The actual state of all 3 apps

I checked every one of my apps, looking at both the code and Play Console.

AppUI language (checked in code)CountriesVerdict
NarabuJapanese + English (every screen translated in lib/l10n/app_en.arb)177 countriesOK
KirokuJapanese onlyJapan only (1 country)Needs change
NemuruJapanese onlyNot yet published (expected mid-September)Set at publish time

The reason for the difference is clear. For Narabu, I submitted the country selection at the same time as the production release request, so it ended up with 177 countries. For Kiroku, I did the publishing work at a different time and never touched the country settings.

I simply wasn’t aware that “leaving it as is” defaults to Japan only.

Deciding whether to ship a Japanese-only UI abroad

This called for a decision. Kiroku’s in-app text is Japanese only. Here’s main.dart:

supportedLocales: const [Locale('ja', 'JP')],

There aren’t even any ARB files. English localization isn’t something I could finish in a few days.

I had two options:

  1. Expand the countries. People abroad will see an app with a Japanese UI
  2. Keep it Japan-only. Judges can’t open the app

I chose to expand, on the spot. “Can’t install it” is far more fatal than “Japanese UI shipped abroad.”

I also see the risk of bad reviews as practically zero. There’s almost no chance that general users abroad will stumble on a diary app with a Japanese name through search. The only people who’ll reach it are those who, like the judges, open the URL directly. And the setting can be narrowed back down later, so it isn’t irreversible either.

When you’re stuck on a decision, deciding by whether it can be undone is the fastest way.

The steps, and the trap where saving alone does nothing

Here’s the procedure in Play Console:

Test and release → Production → "Countries / regions" tab
  → "Edit countries / regions" at top right → Select all → Save
  → Go to "Publishing overview" → Send changes for review   ← this step is required

Saving alone doesn’t send anything to review. Play Console splits this into two steps, “save changes” and “send saved changes for review together,” and unless you send from Publishing overview, the screen will look correct but the change will never reach production.

I’ve actually stepped on this once already with Narabu. I looked at the saved screen, reported “done,” and noticed days later that it hadn’t been applied. It’s now a fixed part of my procedure: whenever I change anything in Play Console, always open “Publishing overview” at the end.

Knock out submission requirements line by line, exactly as written

What helped most this time was rereading the submission requirements. The contest requirements said:

  • A store URL for the published app
  • A way for judges to try the paid features

I had read those two lines as “publish to the store” and “hand out promo codes.” What’s actually being asked for is “it works on the judges’ devices.” Instead of the wording of the requirements, I needed to check the state of meeting them, as seen from the judges’ side.

I fixed my checklist. Before submitting, I now check:

  • Do the distribution countries include the judges’ countries? (If unknown, go worldwide)
  • Open the store URL in an incognito window: does the Install button appear?
  • Can the purchase flow be reached? (State clearly which is active: a trial or promo codes)
  • Are there no changes sitting stuck in Play Console’s “Publishing overview” waiting to be sent for review?

Lessons

Checking your assumptions comes before polishing your preparation. In the time I spent fine-tuning promo code counts and expiration dates, I could have opened the store URL once from an incognito window and caught this on the spot.

Everything works fine in my own environment. What’s broken is always outside my environment, so the only way to check is from the outside.


In the same “broken when seen from the outside” category, the worst one was when I renamed my GitHub account and every terms page went 404. How I plan timelines around store review is covered in working backward from 12 testers × 14 days.