ひだまりソケットは壊れない

ソフトウェア開発に関する話を書きます。 最近は主に Android アプリ、Windows アプリ (UWP アプリ)、Java 関係です。

まじめなことを書くつもりでやっています。 適当なことは 「一角獣は夜に啼く」 に書いています。

Windows ストアに Web サービスのクライアントアプリを申請するときに気を付けないといけないこと (審査でひっかかりそうな箇所)

Home timeline の閲覧とツイートの投稿のみ可能な簡単な Twitter クライアント *1 を Windows ストアアプリとして作って、今週ストアに申請しました。 火曜日の早朝に申請したところ、12 時間後ぐらいにはリジェクトの返答が来て、「リジェクトだから速かったのかなー」 と思ってたのですが、そのあとレビュアの人と 2, 3 往復やりとりして、申請から 48 時間後ぐらいには通過してました。 休暇前だからかしらないけど、審査が速かったです。 (アプリは 12/25 にリリースされます。 どうぞよしなに。)

そんなわけで、私が審査で引っかかった箇所 (や引っかかりそうだったところ) を書いておきます。 アプリ開発時はご注意ください。 (まあ引っかかったところですぐ修正できますけど。)

プライバシーポリシーを書かなければならない

4.1.1 アプリがネットワークに対応している場合はプライバシーに関する声明を用意しなければならない

Windows ストア アプリの認定の要件 - 4.1.1

これは web サービスのクライアントに限らずネットワーク接続を行うアプリ全般に関して言えることですが、ユーザーの情報を取り扱わない場合もプライバシーポリシーを用意する必要があります。

申請時に web サービスのアカウントの情報をレビュアに伝えなければならない

1.2 ユーザーが Windows ストアからアプリを入手したとき、そのアプリは完全に機能しなければならない

Windows ストアはユーザーに最適なエクスペリエンスを提供するため、完全に機能するアプリしか提供しません。Microsoft のテスターがアプリが不完全だと判断すると、そのアプリは認定に合格しません。

お客様は、提出前にアプリを徹底的にテストし、Microsoft がアプリを徹底的にテストするために必要な情報を提供することができます。たとえば、アプリでログイン資格情報が必要になる場合は、Microsoft にデモ アカウントを提供します。アプリでサーバーへのアクセスが必要になる場合は、アプリが正常に機能していることを確認するために必要なことを Microsoft に説明します。

Windows ストア アプリの認定の要件 - 1.2

自社のサービスのクライアントアプリであればデモアカウントを提供しなければならないのは当然だと思う一方で、twitter みたいに自分がやってるわけではないサービスならデモ用アカウントは教えなくてもいいものだと思ってデモ用アカウントを取得せずにアプリの申請をしたのですが、以下のようなコメントが返ってきました。

審査担当者からのコメント:
.G:: Missing or incomplete account information provided to reviewer. This prevented us from completing our review of this app.

Facebook みたいに実名登録じゃないとだめな場合 *2 とかどうするんですかね。 そういう web サービスだとデモ用アカウントの取得フローみたいなのあるのかな。

新規ユーザー登録のフローをアプリ内に置かなければならない

これも要件 1.2 ですが、ログインする機能がアプリにある場合は、新規ユーザー登録を行うためのフローをアプリ内に置かなければならないのです。

審査担当者からのコメント:
.F:: Apps that require users to sign in must provide a mechanism for new users to sign up for services from within the app - at a minimum this could be a link in the app to the website where the user can create a new account and sign up for services. Your app did not appear to include this feature.

少なくとも、新規ユーザー登録ページへのリンクをアプリ内に置いておく必要があるとのこと。

*1:将来的には Twitter に限らずいろんな情報をタイムライン形式で表示できるようにするつもり

*2:Facebook のアカウント登録条件とかあんまり詳しくないので違うかも