App Reviewヘルプ
App Review ガイドライン関連情報 5.1.1(ii) - 目的文字列を明確に記述する
5.1.1(ii) - 目的文字列を明確に記述する
Appleのオペレーティングシステムは、保護されたデータやリソースへのアクセスをデフォルトで制限しています。そのためカメラや位置情報、マイク、ヘルスケアデータなどの保護されているリソースにアクセスする必要がある場合は、事前に許可を求める必要があります。多くの場合、こうしたリクエストには、アプリがリクエストしたデータやリソースをどのように使用するかを説明する目的文字列(使用目的説明とも呼ばれます)が記載されています。
App Reviewガイドライン5.1.1(ii)は、目的文字列に関する要件について規定しています。
5.1.1(ii) 許可
[...]必ず、目的文字列でデータの用途を明確かつ十分に説明してください。[...]
この要件により、ユーザーはアプリにアクセス権を付与するかどうかについて、十分な情報に基づいて判断できます。
目的文字列のベストプラクティス
リソース名をそのまま記載しただけの目的文字列や、アプリの実際の動作を明記せずに一般的なメリットをうたうだけの目的文字列は、ガイドラインの要件を満たしているとは言えません。
データがアプリでどのように使用されるかを具体的に説明する。
必要事項
-
データによって実現できる具体的な機能や成果を明記する。
-
アプリがアクセスを必要とする保護されたリソースについて、それぞれ個別に目的文字列を記述する。
禁止事項
-
「お客様のデータは、より良い体験を提供するために使用されます」のような、曖昧なメリットや受動的な表現を使って、誰がデータにアクセスするかを隠さない。
-
リソースの用途を説明しないまま、リソースの名前だけを繰り返さない。
データの使い方の例を示す。
必要事項
-
アプリでデータをどのように扱うか、具体的な例を示す。
-
簡潔かつ完全な一文を能動態で記述し、文末は句点(。)で終える。
禁止事項
-
リクエストに宣伝文や全機能の一覧を記載しない。
不十分な例 |
明確で具体的な例 |
|---|---|
「位置情報を使用するため。」 |
「このアプリは位置情報データを使用して目的地までの推奨ルートを決定し、ターンバイターンの経路案内を提供します。」 |
「お客様のデータは、より良い体験を提供するために使用されます。」 |
「このアプリは、ユーザーに最も関連性の高い製品のパーソナライズ広告を配信するためにトラッキングデータを使用します。」 |
よくある質問
目的文字列をローカライズする必要はありますか?
はい。アプリが世界中のユーザーに向けて複数の言語に対応している場合、言語ごとに目的文字列をローカライズする必要があります。アプリを各言語のローカライズ版に設定してテストし、許可のリクエストに正しくローカライズされた目的文字列が表示されることを確認してください。アプリのローカリゼーションについて詳しくは、こちらをご確認ください。
アプリ内のサードパーティ製SDKが許可をリクエストしています。その目的文字列についてもデベロッパに責任がありますか?
はい。App ReviewガイドラインおよびApple Developer Program使用許諾契約に記載されている通り、デベロッパは、サードパーティによるSDK、ライブラリ、およびその他のコードも含め、アプリ内のすべてのものについて責任を負います。SDKは、位置情報などの保護されたリソースにアクセスするAPIを参照することがあり、デベロッパがこれに気付かない場合もあります。アプリがリソースにアクセスする正当な理由がある場合は、Info.plistでアプリの具体的なユースケースを説明する目的文字列を定義します。正当な理由がない場合は、アプリのバイナリからそれらAPIへの参照を削除します。提出する前に、SDKがアクセスを試みる可能性のあるリソースを十分に把握しておきましょう。