Storeの審査で二回ほどリジェクト(却下)されまして、この度なんとか審査に通ったので、その経緯を情報共有の意味も含めて書きたいと思います。データの使用と共有ユーザーのスコアをグローバルリーダーボードにアップロードする前に、アプリがユーザーの同意を得ていないことに気付きました。アプリで個人データを収集するには、個人データがサーバーにアップロードされることをユーザーに明示する必要があります。InformationページにプライバシーポリシーのURLを含めるようにアプリを改訂し、提供したURLがプライバシーポリシーにユーザーを誘導するようにしてください。今回のアプリはNCMBのデータストア機能を利用して、オンラインランキングを実装しているのですが、スコアデータを送信する際に、「プレイヤー名、使用キャラクター番号、ハイスコア」の情報を送信しているので、これが個人情報にあたるということで、プライバシーポリシーの開示が求められたのだと思います。Connectのプライバシーポリシー欄に記入しました。Stepを見る限りだとプライバシーポリシーを書けば良さそうだったので、これで再申請をしたのですが、残念ながらまたリジェクト。データの使用と共有あなたのアプリはまだデバイスからユーザーデータにアクセスしていますが、必要な予防措置は講じていないようです。次のステップアプリで個人データを収集するには、個人データがサーバーにアップロードされ、データがアップロードされる前にユーザーの同意を得なければならないことをユーザーに明確にする必要があります。プライバシーポリシーのURLを用意し、提供したURLがプライバシーポリシーにユーザーを誘導していることを確認する必要があります。6からは、アプリがユーザーの保護されたデータにアクセスする理由を指定するためのキーがあります。アクセスプロンプトが表示されると、これらのキーで指定された目的がそのダイアログボックスに表示されます。アプリが保護されたユーザーデータを送信する場合、アクセス要求の使用文字列は、ユーザーが同意した場合にサーバーにデータがアップロードされることをユーザーに明確に伝える必要があります。リソースこれらのキーの詳細については、「情報プロパティーリストのキーリファレンス」を参照してください。添付ファイルとして、ランキング画面を表示したスクリーンショットが貼られていました。対応データ送信についての同意ダイアログをゲーム初回起動時に表示するようにしました。実装はUnityNativeDialogPluginを使ってOSネイティブのダイアログを表示するようにしました。Keyを利用して、使用しているデータについて説明文を書く必要があるように読めたのですが、自分が使っているユーザーデータは、Unityアプリ内で生成しているテキストデータだけで、該当するキーは無いように思えました。(画像や電話帳データ、iTunesの曲データなどにアクセスする場合は、アクセスする理由を書くキーが存在します。今回はそのどれにも該当しないと思ったということです)なので、おそらくこの文面は、同様の問題が発生している人に対する定型文で、iOSが保護しているユーザーデータを使用しなくても、データをサーバに送信する場合、それを同意させるダイアログを表示する必要があるのではないかと考えてやってみたところ、それで上手く行ったという感じです。オリジナルな文章を毎回書くのは大変なので、ある程度定型文を組み合わせて対応しているのでしょうかね。keys関連)が追加されたせいで、少し混乱してしまった気がします。オンラインランキング機能を搭載しているその他のゲームで、あまりこういったダイアログを見たことがない気がするのですが、気のせいでしょうか。スコアが強制的にアップロードされる(任意で拒否することができない)自分の実装の仕方が良くなかったのかなと思いますが、同じようにオンラインランキング機能を実装する方は、こんな理由でリジェクトされる可能性もあるよということでお気をつけください。コ...記事を読む家具クライマーAndroid版制作中Unity1週間ゲームジャムの第一回で制作した「家具クライマー」をスマホ向けに移植しています。動かないシューティングゲームというコンセプトで製作しました。製作者(Gunzee2)についてガンジーと呼ばれています。Gamesという名義で、Unityを使ったゲームの個人制作をしています。