海外のコンテストにアプリを出しています。審査員は10/1〜10/13にストアURLから自分の実機にインストールして評価する、という要件です。
9月1日、別のアプリの作業ついでにKirokuのPlay Consoleを開いて、血の気が引きました。
配信国が「日本」の1か国だけでした。
海外在住の審査員がストアURLを開くと、そこに出るのは「お住まいの国ではご利用いただけません」です。アプリを開くことすらできない。評価の対象になりません。
プロモコードでは解決しない
Kirokuの審査員向けアクセスは、有料機能を試してもらうためのプロモコード方式で用意していました。1回限りのコードを10本、カスタムコードを2000本、30日の試用つきで発行済み。ここは完璧に準備できていたつもりでした。
コードを配ってもアプリ本体が国で弾かれるので、全部無意味です。
配信国の設定は、プロモコードより上位の制約でした。「課金導線をどう見せるか」を詰める前に、「そもそもインストールできるか」を確認するべきだった、という順序の間違いです。
3本の実状態
自分のアプリを全部確認しました。コードとPlay Consoleの両方を見ています。
| アプリ | UI言語(コードで確認) | 配信国 | 判定 |
|---|---|---|---|
| ナラブ | 日本語+英語(lib/l10n/app_en.arb で全画面ぶん翻訳済み) | 177か国 | 問題なし |
| Kiroku | 日本語のみ | 日本のみ(1か国) | 要変更 |
| Nemuru | 日本語のみ | 未公開(公開見込み9月中旬) | 公開時に設定 |
差がついた理由ははっきりしています。ナラブは製品版のリリース申請と同時に配信国を申請したので177か国になっていました。Kirokuは公開の作業を別のタイミングでやっており、そのとき国の設定に触れていません。
「初期値のまま」が既定で日本のみになるという認識が、こちらに無かっただけです。
日本語UIのまま海外配信していいのか、を決めた
ここで判断が要ります。Kirokuのアプリ内テキストは日本語だけです。main.dart はこうなっています。
supportedLocales: const [Locale('ja', 'JP')],
ARBファイル自体がありません。英語化は数日では終わりません。
選択肢は2つでした。
- 配信国を広げる。海外の人にも日本語UIのアプリが表示される
- 日本のみを維持する。審査員はアプリを開けない
広げる、で即決しました。 「日本語UIの海外配信」より「インストールできない」ほうが致命的だからです。
低評価のリスクも実質ゼロに近いと見ています。日本語名の日記アプリを、海外の一般ユーザーが検索から自然に見つける可能性はほぼありません。届くのは審査員のようにURLを直接踏んだ人だけです。そして設定は後から絞り直せるので、不可逆でもない。
判断に迷ったときは、取り返しがつくかどうかで決めるのがいちばん速いです。
手順と、保存だけでは何も起きない罠
Play Consoleでの操作はこうです。
テストとリリース → 製品版 → 「国 / 地域」タブ
→ 右上の「国 / 地域を編集」 → 全選択 → 保存
→ 「公開の概要」へ移動 → 変更を審査に送信 ← ここが必須
保存しただけでは審査に入りません。 Play Consoleは「変更を保存する」と「保存した変更をまとめて審査に送る」が分かれた2段階の仕様で、公開の概要から送信しないと、画面上は正しく見えているのに本番には一生反映されません。
これはナラブで一度実際に踏んでいます。保存済みの画面を見て「完了」と報告し、数日後に反映されていないことに気づきました。Play Consoleで何かを変えたら、必ず最後に「公開の概要」を開く、を手順に固定しました。
提出要件は、書いてあるとおりに1行ずつ潰す
今回いちばん効いたのは、提出要件を読み直したことです。コンテストの要件には、こう書いてありました。
- 公開済みアプリのストアURL
- 審査員が課金機能を試せる導線
自分はこの2行を「ストアに公開する」「プロモコードを配る」と読んでいました。実際に要求されているのは**「審査員の端末で動くこと」**です。要件の文言ではなく、要件を満たした状態を審査員の側から見て確認する必要がありました。
チェックリストを直しました。提出前に、こう確認します。
- 配信国は審査員の所在国を含むか(不明なら全世界)
- ストアURLをシークレットウィンドウで開いて、インストールボタンが出るか
- 課金導線に到達できるか(トライアルかプロモコードか、どちらが有効か明記)
- Play Consoleの「公開の概要」に、審査待ちのまま止まっている変更が無いか
教訓
準備の質より、前提の確認が先です。 プロモコードの発行本数や有効期限を詰めている時間で、シークレットウィンドウからストアURLを1回開いていれば、その場で気づけました。
自分の環境では全部うまく動きます。壊れているのは常に自分の環境の外なので、確認も外から行うしかありません。
同じ「外から見たら壊れていた」系では、GitHubのアカウント名を変えて規約ページが全部404になった話が最悪でした。ストア審査まわりの時間の読み方はテスター12人×14日の逆算にまとめてあります。