FacebookのデベロッパーBlogにこんな記事が上がっていました。
An Update on Login Review – How to Get Your App Approved Quickly & Easily
https://developers.facebook.com/blog/post/2014/11/11/login-review/
アプリのパーミッションを審査制にしたことで、余計なパーミッションは弾かれ、その結果ユーザー体験が高まる・・・というのがFacebookの狙い。
事実、審査制導入前のアプリの要求パーミッションは平均5個だったのが、審査制後は2個まで減ったそうです。
それでも問題なくたくさんのアプリが動いてるでしょ、というのが彼らの言い分。
なお、審査には7営業日かかると公表されていましたが、実際は一両日程度で完了している、とのことです。
Facebookは、審査に落ちるよくある理由として、以下の5つを上げています。
26% Login broken or misbranded – ログインできない、ブランド違反
Ensure your app’s Facebook Login uses our SDK for iOS, Android or JavaScript, and is functional, properly branded and not broken. See more guidelines on our Login best practices page.
そもそもFacebookへのログインができない場合。ログインボタンが無い、ボタンはあるが押しても反応しない、など。
また、この「Facebookにログインするためのリンクやボタン」には、「Facebookにログインするということが明確にわかるようなデザイン(例えばFacebookのロゴを使い、「ログイン」と言う文字を入れる、等)」であることが求められます。
23% Unable to reproduce permissions – パーミッションを再現できない
Provide detailed step-by-step instructions on how the reviewer can reproduce the requested permissions in your app. Check out our Review Guidelines for more details on what to submit, and how.
Facebookが審査をする際に、パーミッションの要求やそれを利用したアクションなどを確認できなかった場合。
これは多くの場合、審査の申請時に記入するアプリの動作の説明欄が正しく記入されていない事が原因です。
「step-by-step instructions」ということで、手順毎に詳細に記入するように、とFacebookは言っています。
21% Requesting unnecessary permissions – 不必要なパーミッションを要求している
Look at our Permission Selector Dialog which should prompt you for the proper permission to request, along with some valid and invalid use cases for each.
Facebookは、各パーミッションそれぞれにその利用目的を制限しています。
その定めに反する目的でパーミッションを利用していると判断された場合は、どうあがいても審査は通りません。
例えば、「user_likes」という権限があります。
これは、ユーザーがいいね!を押したFacebookページのリストを取得するためのパーミッションです。
この権限は、「ユーザーのいいね!の情報をもとに、ユーザーの興味があるコンテンツやユーザーを表示する」ような目的では使えますが、「自分のFaceookページにいいね!を押しているか否かでコンテンツを出しわける」目的では使えません。
この辺は、以下のdocsにOKとNGの例も含め詳細に載っています。
Permissions with Facebook Login
https://developers.facebook.com/docs/facebook-login/permissions/v2.2#reference
12% Broken app – アプリが壊れている
Ensure your app runs end-to-end and does not crash or break; make sure your files are downloadable and working properly if you provide a simulator build.
ページ遷移が出来ない、画面がホワイトアウトする、サーバーエラーになる、などなど。
レビューに出すタイミングではまだアプリは開発段階だと思いますが、とはいえFacebookが審査する際にたまたまこちらでも更新作業などをしていると、タイミング悪くエラーに当たる場合もあります。
そうなるともう一度審査出し直しになって二度手間ですので、審査に出したら結果が来るまではページは触らない、というのは守った方が良いです。
7% Pre-filling sharing messages – シェア文言があらかじめ入力されている
Encourage your users to compose their own content in captions, comments, messages and other sharing fields; do not pre-fill the field for them, even if the person can edit or remove the content before sharing.
いわゆる「prefill」問題。
「publish_actions」という、ユーザーに情報をタイムラインにシェアさせる際に必要な権限で問題になります。
これはご丁寧に動画による解説もあります。
Platform Policy 2.3 Example and Explanation
https://developers.facebook.com/docs/apps/review/prefill
つまり、ユーザーがシェアする文言に、あらかじめ何かしらの文言が入力されていてはならない、と言うことです。
なお、ここで問題となるのはあくまでも「メッセージフィールド」。OGPの表示エリアではありません。
↓の画像の、赤く囲った部分です。
この部分に、アプリ側であらかじめ設定している文言が入ると、アウトです。
たとえ1文字でも入ってもだめですし、例えばシェアする画面でユーザーが編集できるようになっているようなやり方も、NGです。
あくまでも、ここに入るメッセージはユーザーが自分で空の状態から入力した文言そのままである必要があります。
アプリの審査も導入当初は結構ブレがありましたが(何も違反してるのに「違反してる」と返事が来て、再審査したらそのまま普通にとおったり)最近では安定してきた、かな?
アプリの申請関連は過去に複数まとめてますので、下記も参考にしてみてください。
- Facebookアプリのテストユーザーを利用してpublish_actions等を審査前に動作確認する (2014/06/27)
- Facebookアプリのパーミッション「publish_actions」を申請してみてわかったことまとめ (2014/06/10)
- Facebookログイン Version2.0(アプリのパーミッション仕様変更) (2014/05/08)
- Facebook developer利用規約(Platform Policy)について (2014/05/08)