Google Play は、リスクが高い権限や機密情報に関わる権限の使用を制限しています。特定のデバイスにインストールされているアプリの一覧を取得できるようにする QUERY_ALL_PACKAGES
もその一つです。Play は、ユーザーのデバイスにクエリされるインストール済みアプリの一覧を個人情報かつ機密情報とみなすため、この権限の使用が許可されるのは、アプリのユーザー向けのコア機能または重要な目的が、ユーザーのデバイスにあるインストール済みのアプリの一覧の取得を必要とする場合に限られます。
アプリが下記の利用規定に準拠していない場合は、Play のポリシーに準拠するよう、その権限をアプリのマニフェストから削除してください。ポリシーに準拠した代わりのおすすめの実装方法についても、下記で詳しく説明します。
アプリが QUERY_ALL_PACKAGES
権限の利用規定に関するポリシーの要件を満たしている場合は、Google Play Console の権限申告フォームを使用してこの権限とその他のリスクが高い権限を申告してください。
ポリシーの要件を満たさない、または権限申告フォームを送信していないアプリは、Google Play から削除される可能性があります。
重要: アプリでのこれらの制限付き権限の用途を変更する場合は、最新の正確な情報で申告を変更してください。これらの権限の用途が虚偽であったり、これらの権限を申告せずに使用したりすると、アプリやデベロッパー アカウントの停止につながる場合があります。
QUERY_ALL_PACKAGES 権限をリクエストする場合
QUERY_ALL_PACKAGES
権限が有効となるのは、アプリが Android 11 以上を搭載したデバイスで Android API レベル 30 以上をターゲットとしている場合のみです。
この権限を使用するには、アプリが下記の利用規定に準拠し、デバイス上のすべてのアプリを検索することを重要な目的とする必要があります。取得するアプリの範囲を抑える方法にすると、アプリのポリシーに準拠したユーザー向けのコア機能を十分に利用できなくなる理由を適切に正当化できることが必要です。
コア機能とは、アプリの主要な目的を果たすために必要不可欠な機能を指します。デバイス上のすべてのアプリを検索するというこの重要な機能がなければ、アプリが「壊れている」、または使用不能になる機能が「コア機能」にあたります。コア機能と、このコア機能を構成する重要な機能はすべて、アプリの説明文で最も目立つところに記載され、宣伝されている必要があります。
QUERY_ALL_PACKAGES 権限の許可される用途許可される用途に関して、この権限の対象となる可能性があるアプリとは、認識または相互運用のために、デバイス上のあらゆるインストール済みのアプリを検出する必要があるアプリです。許可される用途には、デバイス検索、ウイルス対策アプリ、ファイル マネージャー、ブラウザが含まれます。
この権限の利用を許可されたアプリは、認識しやすい開示と同意の要件を含め、ユーザーデータに関するポリシーに準拠する必要があり、開示していない目的や無効な目的のためにその用途を広げることはできません。
Google Play は、上記の許容される用途の対象とならないアプリに対して、以下の場合に一時的な例外を認めることがあります。
- 現金賭博を主な目的とし、かつ適用されるジオフェンスの規制で義務付けられている技術標準に準拠するためにパッケージの広範な一覧取得が必要となる現金を伴うギャンブル アプリ。
- 規制対象の金融商品に関連する金融取引(例: 専用バンキング、専用デジタル ウォレット)を促す検証可能な重要な目的を持つアプリは、セキュリティ ベースの目的専用のインストール済みのアプリの広範な一覧を取得できます。
Google の個人ローンに関するポリシーに従い、ローンやクレジットを目的とした使用、または個人ローンの斡旋を理由とした使用は、この例外の対象にはなりません。
セキュリティや不正行為の防止に関して、QUERY_ALL_PACKAGES
権限に依存しない代替のソリューションを積極的に実装することをおすすめします。
QUERY_ALL_PACKAGES
権限のリクエストが許可されない使用例を以下に示します。
- 権限の使用が、アプリの重要な目的に直接関連していない場合。
- これにはピアツーピア(P2P)共有も含まれます。P2P がアプリの重要な使用目的である場合に限り、許容される用途の対象として見なされます。
- データを販売目的で獲得している場合。
- Play で配信中のアプリにクエリして入手したアプリの一覧に関するデータを、分析や広告収益化の目的で販売、共有する場合。
- アプリの取得の範囲を広げない方法で必要なタスクを実行できる場合。
注: 上記はあくまで一例です。代替方法やおすすめの方法について詳しくは、Android でのパッケージの公開設定のフィルタリングをご覧ください。