リジェクト最大の原因はプライバシーポリシー
―― 他のアプリストアの場合、リジェクトの原因が分からないという話も聞きます。
渡辺 「現状、Windows ストアでは、そういった話は聞きませんね。よくあるのは、アプリそのものは素晴らしくても、その周囲が整っていなかったというパターンです。
例えば、先ほども触れたプライバシーポリシーは、最もはじかれやすいところです。インターネット経由で何らかの情報を取得しているならアクセスポリシーを明記して、アプリの環境設定からアクセスできるところに置いておく。さらに、そのポリシーを外部から見られるようにサイトで公開する。
このへんはすでにストアで公開されているアプリの表示方法を参考にするのが近道かと思います。個人開発のアプリでは、おそらく端末内の情報を収集していないので、そう明記しておけば大丈夫です。アカウントを作ってログインするアプリであれば、取得した情報を保管しているのかどうか、どういう用途に使うのかを常識の範囲内で明記してください」
── 確かに自分のサイトでアプリを配布するのとは違って、気づきにくいところですね。
渡辺 「ストア申請時のミスも多いですね。ダッシュボードで投稿する際、販売市場の箇所で“全世界”を選択した場合、対象国すべての言語に対応する必要があります。にもかかわらずインターフェースが日本語だけですと、『他国で使えない』という理由ではじかれてしまうので、日本のみを選んでください。
逆に、グローバルに展開したい人は、英語を用意してください。どの国でどの言語が必要かは、ドキュメントで確認できます」
── そのほか多いミスは?
渡辺 「オフラインでの処理ですね。インターネットからデータを取得するタイプのアプリがクラッシュする原因の1つに、オフライン時の例外処理ができてないというのがあります。
また、アプリの起動時間は5秒以内と定められているので、それをオーバーしているとリジェクトされます。画像データが多くて、全部ネットから取得して起動に50秒ぐらいかかるというのなら、いったん起動したあとにロードしながら取得するように変えるのがベターです。
各レイアウトのパターンも、スナップ、フィル、ポートレート、ランドスケープといろいろ対応してもらえるのは嬉しいのですが、それが原因でアプリが動かないというのなら、Visual Studioのアプリ名などを書く『アプリマニュフェスト』という設定で、不要なレイアウトの設定を外すといいかもしれません。
同じマニュフェストでは、端末のセンサーを使っているかどうかのチェックボタンも忘れがちです。カメラアプリなのに、カメラの項目にチェックが入ってないと、リジェクトされてしまいます」
―― いろいろなコツがあるんですね。実は裏技もあったり……?
渡辺 「うーん、表立っては言えないのですが、じつはアプリの公開日は『○日以降』という風に指定することができるんです。そこで、未来の日付を設定しておき、モックアップレベルのアプリを提出して審査を受けて、どの部分でリジェクトされるかを確認した上で、最終的に通る可能性の高いアプリを作り込むというテクニックが使えます。
最後にバタバタすると焦るので、余裕を持って開発したい人は覚えておいて損はないかと思います」