App Store審査 で Guideline 5.1.2 Legal Privacy Data Use and Sharing 違反でリジェクトされた件

初iOSアプリの家具クライマーをリリースする際、App Storeの審査で二回ほどリジェクト(却下)されまして、この度なんとか審査に通ったので、その経緯を情報共有の意味も含めて書きたいと思います。

メタデータでの却下(1回目のリジェクト)

リジェクト内容

Guideline 5.1.2 – Legal – Privacy – Data Use and Sharing

We noticed that your app does not obtain the user’s consent prior to uploading users’ scores to a global leaderboard.

To collect personal data with your app, you must make it clear to the user that their personal data will be uploaded to your server.

Next Steps

To resolve this issue, please revise your app to include a privacy policy URL in the App Information page on iTunes Connect and ensure that the URL you provide directs users to your privacy policy.

ガイドライン5.1.2 – 法律 – プライバシー – データの使用と共有

ユーザーのスコアをグローバルリーダーボードにアップロードする前に、アプリがユーザーの同意を得ていないことに気付きました。

アプリで個人データを収集するには、個人データがサーバーにアップロードされることをユーザーに明示する必要があります。

次のステップ

この問題を解決するには、iTunes ConnectのApp InformationページにプライバシーポリシーのURLを含めるようにアプリを改訂し、提供したURLがプライバシーポリシーにユーザーを誘導するようにしてください。

原因

今回のアプリはNCMBのデータストア機能を利用して、オンラインランキングを実装しているのですが、スコアデータを送信する際に、「プレイヤー名、使用キャラクター番号、ハイスコア」の情報を送信しているので、これが個人情報にあたるということで、プライバシーポリシーの開示が求められたのだと思います。

対応

方々を参考にしつつプライバシーポリシーを作成して、iTunes Connectのプライバシーポリシー欄に記入しました。

結果

とりあえずNext Stepを見る限りだとプライバシーポリシーを書けば良さそうだったので、これで再申請をしたのですが、残念ながらまたリジェクト。

バイナリでの却下(2回目のリジェクト)

リジェクト内容

Guideline 5.1.2 – Legal – Privacy – Data Use and Sharing

It appears that your app still accesses user data from the device but does not have the required precautions in place.

Next Steps

To collect personal data with your app, you must make it clear to the user that their personal data will be uploaded to your server and you must obtain the user’s consent before the data is uploaded. You must also have a Privacy Policy URL and ensure that the URL you provide directs users to your privacy policy.

– Starting with iOS 6, there are keys for specifying the reason the app will access the user’s protected data. When the access prompt is displayed, the purpose specified in these keys is displayed in that dialog box. If your app will be transmitting protected user data, the usage string in your access request should clearly inform the user that their data will be uploaded to your server if they consent.

Resources

For more information on these keys, please review the Information Property List Key Reference.

ガイドライン5.1.2 – 法律 – プライバシー – データの使用と共有

あなたのアプリはまだデバイスからユーザーデータにアクセスしていますが、必要な予防措置は講じていないようです。

次のステップ

アプリで個人データを収集するには、個人データがサーバーにアップロードされ、データがアップロードされる前にユーザーの同意を得なければならないことをユーザーに明確にする必要があります。 また、プライバシーポリシーのURLを用意し、提供したURLがプライバシーポリシーにユーザーを誘導していることを確認する必要があります。

– iOS 6からは、アプリがユーザーの保護されたデータにアクセスする理由を指定するためのキーがあります。 アクセスプロンプトが表示されると、これらのキーで指定された目的がそのダイアログボックスに表示されます。 アプリが保護されたユーザーデータを送信する場合、アクセス要求の使用文字列は、ユーザーが同意した場合にサーバーにデータがアップロードされることをユーザーに明確に伝える必要があります。

リソース

これらのキーの詳細については、「情報プロパティーリストのキーリファレンス」を参照してください。

更に添付ファイルとして、ランキング画面を表示したスクリーンショットが貼られていました。

対応

データ送信についての同意ダイアログをゲーム初回起動時に表示するようにしました。

実装はUnityNativeDialogPluginを使ってOSネイティブのダイアログを表示するようにしました。

結果

無事これで申請が通り、リリースとなりました!

考察

ざっくり英文を読む限りだと、Cocoa Keyを利用して、使用しているデータについて説明文を書く必要があるように読めたのですが、自分が使っているユーザーデータは、Unityアプリ内で生成しているテキストデータだけで、該当するキーは無いように思えました。

(画像や電話帳データ、iTunesの曲データなどにアクセスする場合は、アクセスする理由を書くキーが存在します。今回はそのどれにも該当しないと思ったということです)

なので、おそらくこの文面は、同様の問題が発生している人に対する定型文で、iOSが保護しているユーザーデータを使用しなくても、データをサーバに送信する場合、それを同意させるダイアログを表示する必要があるのではないかと考えてやってみたところ、それで上手く行ったという感じです。

オリジナルな文章を毎回書くのは大変なので、ある程度定型文を組み合わせて対応しているのでしょうかね。余計な文章(cocoa keys関連)が追加されたせいで、少し混乱してしまった気がします。

しかし、オンラインランキング機能を搭載しているその他のゲームで、あまりこういったダイアログを見たことがない気がするのですが、気のせいでしょうか。

おそらくスコアが強制的にアップロードされる(任意で拒否することができない)自分の実装の仕方が良くなかったのかなと思いますが、同じようにオンラインランキング機能を実装する方は、こんな理由でリジェクトされる可能性もあるよということでお気をつけください。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする