デベロッパーが一貫したユーザー エクスペリエンスを提供するアプリを作成できるよう、フォアグラウンド サービスのタイプを追加し、新しい一連の関連するポリシー制限を導入しました。この記事では、まもなく適用されるフォアグラウンド サービスの要件と、Google Play Console でフォアグラウンド サービスの情報を申告する方法について説明します。また、全画面インテント通知を使用するための要件についても説明します。
Android 14 におけるフォアグラウンド サービスの要件
フォアグラウンド サービスに適したユースケースを見極め、アプリのバックグラウンド処理の目的を明確に定義できるよう、Android 14 以降では、フォアグラウンド サービスを使用する前に以下を行うことが義務付けられます。
- マニフェストでフォアグラウンド サービスのタイプを申告する。使用するフォアグラウンド サービスごとに行う必要があります。
- 選択したタイプに応じて、フォアグラウンド サービスのタイプごとに適したフォアグラウンド サービスの権限を申告し、リクエストする。
フォアグラウンド サービスを使用する場合に満たさなければならない基準について詳しくは、デバイスやネットワークでの不正行為に関するポリシーのフォアグラウンド サービス(FGS)の権限に関するセクションをご覧ください。Android 14 に更新する場合は、フォアグラウンド サービスのタイプを申告することが義務付けられます。
Google Play Console でフォアグラウンド サービスの情報を申告する
Android 14 以降をターゲットとするアプリについては、Google Play Console の [アプリのコンテンツ] ページ([モニタリングと改善] > [アプリのコンテンツ])の新しい申告で、使用するフォアグラウンド サービスのタイプを申告することが義務付けられます。
申告するフォアグラウンド サービスのタイプごとに、以下を行う必要があります。
- 各タイプのフォアグラウンド サービスを使用しているアプリの機能の説明を提供する。
- 以下の場合は、ユーザーへの影響を説明する。
- システムがタスクを延期する(直ちに開始しない)場合。
- システムがタスクを中断する(一時停止または再起動する)場合。
- 各フォアグラウンド サービス機能を示す動画のリンクを含める。動画では、ユーザーがその機能をトリガーするために、アプリで行う必要のある手順を示す必要があります。
- フォアグラウンド サービスのタイプごとに、具体的なユースケースを選択します。ユースケースのリストがあらかじめ用意されており、その中から選択できます。フォアグラウンド サービスのタイプとそれに該当するユースケースの一部を、以下の表に示します。このリストはすべてを網羅しているわけではありません。該当するユースケースがリストにない場合は、ユースケースを手動で入力できます。
特定のユースケースでは、代替 API を使用することをおすすめします。該当するユースケースとおすすめの代替 API の一覧については、デベロッパー向け Android のこちらの記事をご覧ください。
注: 下記のリストはすべてを網羅しているわけではありません。以下に記載されていないユースケースについては、フォアグラウンド サービス(FGS)の権限に関するポリシーを参照して、アクセスが FGS に適したものかどうかを判断してください。
FGS のタイプ | ユースケース | 説明と例 |
---|---|---|
TYPE_CAMERA |
バックグラウンドでのカメラ ストリーミング | 引き続きバックグラウンドからカメラにアクセスします。例: マルチタスクが可能なビデオチャット アプリ。 |
TYPE_CONNECTED_DEVICE |
外部デバイスへの継続的なデータ転送 | Bluetooth、NFC、IR、USB、ネットワーク接続などを必要とするデータ転送を含む、外部デバイスとの通信。例: ウェアラブル、ベビーモニター、ヘッドセット、車。 |
TYPE_DATA_SYNC |
ネットワーク転送: バックアップと復元 | ユーザーが開始した機能に限定して使用します。例: 新しい写真を毎日自動バックアップする代わりに、特定の写真を選択してクラウドにバックアップする。 |
ネットワーク転送: アップロードまたはダウンロード | 例: データの取得、サーバーサイドの処理。 | |
ローカル処理: インポートまたはエクスポート | SD カードからのファイルの移行が含まれます。 | |
ローカル処理: その他 | ユーザーが開始した機能に限定して使用します。システムやサーバーが開始した通常のタスクには使用しないでください。例: 暗号化、サイズ変更。 | |
TYPE_HEALTH |
健康に関するデータの同期 | フィットネス カテゴリのアプリの健康に関するデータの同期(アプリ間で同期される場合や、デバイス上のトラッキングで収集されたデータを取得するために同期される場合があります)。例: 歩数計、エクササイズを記録するアプリ。 |
TYPE_LOCATION |
バックグラウンドでの位置情報の更新: ユーザーが開始した位置情報の共有 | 例: 「Find My Friend」機能、車のアクティビティの記録。 |
バックグラウンドでの位置情報の更新: ナビゲーション | 例: 地図上での運転ナビの継続、ライドシェアリングの配車の追跡。 | |
ジオフェンス | 対象領域を囲むパラメータを定義します。 | |
TYPE_MEDIA_PLAYBACK |
メディアの再生 | ストリーミングを含め、音声や動画のバックグラウンド再生を続行します。 |
ピクチャー イン ピクチャーの表示 | バックグラウンドでの再生中にメディアを最小化したとき。 | |
TYPE_MEDIA_PROJECTION |
MediaProjection API による、メディアやコンテンツの投影、ストリーミング、録画 | MediaProjection API を使用して、プライマリ以外のディスプレイや外部デバイスにメディアを投影します(ストリーミングを含む)。 |
FOREGROUND_SERVICE_MEDIA_PROCESSING |
メディアのコード変換 | メディア アセットに対して、メディア形式の変換など、時間がかかる処理を行います。 |
TYPE_MICROPHONE |
バックグラウンドでの音声アクセス | 音声入力をキャプチャします。例: 仮想アシスタントの音声コマンド(保存なし)、音声録音。 |
TYPE_PHONE_CALL |
通話: Cellular / VoiP / Telecom API | さまざまな通話機能をサポートします。 |
TYPE_REMOTE_MESSAGING |
別のデバイスにテキスト通信をリレーする | ユーザーがデバイスを切り替えてもメッセージ タスクが継続されるようにします。例: QR コードをスキャンしてウェブ クライアントとスマートフォン間の接続を確立することで、ユーザーがウェブ クライアント経由でテキスト メッセージを送信できるようにする。SMS に限定されません。 |
この申告は 2023 年 11 月より利用できるようになります。申告を行って、フィードバックを受け取り、必要に応じて調整を加えるための猶予期間を設けます。
Android 14 における全画面インテントの要件
ユーザーの早急な対応を必要とする優先度の高いメッセージは、全画面インテント通知を使用して表示することができます。この権限が優先度の高い適切なユースケースにのみ適用されるよう、Android 14 では、USE_FULL_SCREEN_INTENT
権限の使用に制限を設けます。この方法により通知を制限することで、ユーザー エクスペリエンスの向上を図ります。
USE_FULL_SCREEN_INTENT
権限を使用する場合は、2024 年 5 月 31 日以降、アプリに付与の対象となるコア機能があり、自動的に権限が付与される要件を満たしていることを Google Play Console で申告する必要があります。2025 年 1 月 22 日以降、Android 14 以降をターゲットとするアプリで、この権限をデフォルトで付与できるのは、通話機能またはアラーム機能があるアプリのみとなります。その他のアプリでは、USE_FULL_SCREEN_INTENT
権限を使用するためには、ユーザーに権限を付与してもらう必要があります。申告が完了していない、または権限をデフォルトで付与することが承認されなかったすべてのアプリでは、新規インストールの際にプロンプトを表示して、ユーザーに権限の付与を求める必要があります。そして、付与しなかったユーザーに対しては、アプリ エクスペリエンスを適切にダウングレードする必要があります。
よくある質問
Android 14 におけるフォアグラウンド サービスでは、どのようなことが変更されるのですか?新しいフォアグラウンド サービスのタイプが導入され、フォアグラウンド サービスのタイプとそれに対する適切なフォアグラウンド サービスの権限の申告が義務付けられます。たとえば、フォアグラウンド サービスのタイプとして「camera」を申告する場合は、FOREGROUND_SERVICE_CAMERA 権限の申告も必要となります。フォアグラウンドを使用する場合は、デバイスやネットワークでの不正行為に関するポリシーに明記されているその他の要件にも準拠する必要があります。
フォアグラウンド サービスのタイプは、フォアグラウンド サービスの使用方法に最も適合するものを選択してください。たとえば、ユーザーのエクササイズを記録するエクササイズ アプリは、フォアグラウンド サービスのタイプとして「health」を申告できます。また、アプリに応じて、フォアグラウンド サービスの複数のタイプを選択することもできます。
Android 14 をターゲットとするアプリでフォアグラウンド サービスを使用する場合、デベロッパーはその特定のフォアグラウンド サービスのタイプに適したフォアグラウンド サービスの権限を申告する必要があります。たとえば、アプリが「location」タイプのフォアグラウンド サービスを使用する場合は、FOREGROUND_SERVICE_LOCATION 権限を申告する必要があります。特定のタイプのフォアグラウンド サービスを参照するフォアグラウンド サービスの権限は、標準の権限として定義され、インストール時にデフォルトで付与されます。ユーザーはこれらの権限を取り消すことはできません。
フォアグラウンド サービスのタイプによっては、追加のシステム要件が適用されることがあります。実行時の権限が適用されることもあります。この場合、フォアグラウンド サービスを使用するにはユーザーに権限を付与してもらうことが必要となります。たとえば、「location」タイプのフォアグラウンド サービスを使用する場合は、ユーザーに ACCESS_COARSE_LOCATION 権限または ACCESS_FINE_LOCATION 権限のいずれかを付与してもらうことも必要となります。最新情報については、ドキュメントをご覧ください。
状況は限られますが、ユースケースがフォアグラウンド サービスの使用に必要なその他の特性を満たしている場合は(ポリシーを参照)、フォアグラウンド サービスの TYPE_SPECIAL_USE
タイプを申告できることがあります。フォアグラウンド サービスのタイプはすべて、審査の対象となります。
ユーザーが認識できるとは、デバイスでフォアグラウンド サービス タスクが実行されていることをユーザーが把握する必要がある、ということです。ユーザーが自分で操作を開始する場合(曲の再生、ランニングの記録など)、ユーザーは把握していると見なすことができます。また、アプリでデバイスのタスクバーにわかりやすい正確な通知を表示することで、進行中のフォアグラウンド サービスをユーザーに認識させることもできます。
Android 14 より前の Android バージョンをターゲットにする場合は、引き続きアプリのマニフェスト ファイルの <service> 要素内で android:foregroundServiceType
属性を使用してください。
ユーザーが開始したデータ転送ジョブの目的は、ネットワーク経由のデータ転送を簡素化することです。制約の追跡と wake lock の自動管理が可能です。dataSync タイプのフォアグラウンド サービスには、ローカルまたはネットワーク経由のデータ転送を含めることができます。また、デバイス上でのローカルのデータ処理が含まれることもあります。ユーザーからの明示的なリクエストに応じ、ネットワーク経由(Wi-Fi、モバイルデータ、Bluetooth など)でデータを転送する場合は、dataSync タイプのフォアグラウンド サービスではなく、ユーザーが開始したデータ転送ジョブを使用することをおすすめします。
Android 14 では、USE_FULL_SCREEN_INTENT
は標準の権限から 特別なアプリアクセスの権限に切り替わり、USE_FULL_SCREEN_INTENT
権限が自動的に付与されるのは、コア機能が、アラームの設定や音声通話、ビデオ通話の着信など、優先度の高いユースケースであるアプリのみとなります。コア機能とは、アプリの主要な目的を果たすために必要不可欠な機能で、それなしではアプリが壊れているか使用できないと見なされる機能を指します。上記に該当しないアプリでも権限を使用できますが、その場合はユーザーから権限を付与してもらう必要があります。
これらの変更は 2024 年 5 月 31 日に適用されます。
Android 14 以降をターゲットとするアプリの場合は、Google Play Console の [アプリのコンテンツ] ページ([モニタリングと改善] > [アプリのコンテンツ])から、アプリのコア機能が全画面インテントのユースケースに該当することを申告できます。この申告は 2024 年 4 月から利用できるようになります。Google は、申告を完了するための猶予期間を設けます。