为了使开发者打造的应用能够提供一致的用户体验,我们将推出额外的前台服务类型以及一系列新的相关政策限制。本文介绍了即将推出的前台服务要求,说明了如何在 Play 管理中心内声明前台服务信息,还详细阐述了使用全屏 intent 通知的要求。
适用于 Android 14 的前台服务要求
为了帮助您确定哪些用例适用于前台服务,并明确定义应用后台工作的 intent,Android 14 及更高版本要求您必须针对要使用的前台服务完成以下操作才能使用相应前台服务:
“设备和网络滥用”政策的前台服务 (FGS) 权限部分详细说明了使用前台服务所需满足的条件。将应用的目标平台更新到 Android 14 后,必须声明前台服务类型。
在 Play 管理中心内声明前台服务信息
如果您的应用以 Android 14 及更高版本为目标平台,您需要在 Play 管理中心内应用内容页面(政策 > 应用内容)上的新声明中声明需要使用的任何前台服务类型。
对于声明的每种前台服务类型,您都需要执行以下操作:
- 针对将使用每类前台服务的应用功能提供相应说明。
- 说明发生以下情况时对用户有何影响:
- 任务被系统延迟(不立即开始);以及/或者
- 任务被系统中断(暂停和/或重新开始)。
- 添加演示各项前台服务功能的视频链接。视频应演示用户需要在您的应用中执行哪些步骤才能触发相应功能。
- 为每种前台服务类型选择具体用例。系统会提供一个预设的用例列表供您选择。下表列出了部分用例及对应的前台服务类型。此列表并未包含所有用例;如果列表中未列出您的用例,您可以手动输入用例。
对于某些用例,我们建议使用替代 API。如需查看这些用例及推荐替代 API 的列表,请访问 Android 开发者网站。
注意:下面仅列出了部分用例。如需确定访问行为是否适用 FGS,请参阅前台服务 (FGS) 权限政策,了解下文未提及的用例。
FGS 类型 | 用例 | 说明和示例 |
---|---|---|
TYPE_CAMERA |
后台摄像头视频传输 | 继续在后台访问相机。例如,支持多任务的视频聊天应用。 |
TYPE_CONNECTED_DEVICE |
持续将数据传输到外部设备 | 与外部设备互动,包括需要通过蓝牙、NFC、IR、USB 或网络连接进行的数据传输。例如:穿戴式设备、宝宝监控器、耳机、汽车。 |
TYPE_DATA_SYNC |
网络传输:备份和恢复 | 用于专门由用户启动的功能。例如,选择将某张照片备份到云端与每天自动备份所有新照片。 |
网络传输:上传或下载 | 例如,数据提取、服务器端处理。 | |
本地处理:媒体转码 | 将音频和视频等媒体文件从一种格式转换为另一种格式的过程(例如视频编辑等功能)。 | |
本地处理:导入或导出 | 包括从 SD 卡迁移文件。 | |
本地处理:其他 | 用于专门由用户发起的工作,而不适用于常规的系统任务或由服务器发起的任务。例如,加密、调整大小。 | |
TYPE_HEALTH |
健康数据同步 | 同步健身类别应用的健康数据,可以是在应用之间进行同步,或者收集通过设备端跟踪功能收集的数据。例如,计步器、锻炼追踪器。 |
TYPE_LOCATION |
后台位置更新:用户发起的位置信息分享 | 例如,“查找我的朋友”功能、车辆活动记录。 |
后台位置信息更新:导航 | 例如,在地图中继续驾车导航,拼车行程跟踪记录。 | |
地理围栏 | 定义关注区域的四周边界。 | |
TYPE_MEDIA_PLAYBACK |
媒体播放 | 在后台继续播放音频或视频,包括在线播放。 |
在画中画模式下显示 | 当媒体在后台播放,同时采用最小化格式时。 | |
TYPE_MEDIA_PROJECTION |
使用 MediaProjection API 进行媒体或内容投影以及流式传输或录制 | 使用 MediaProjection API 将媒体投影到非主要显示屏或外部设备,包括流式传输。 |
TYPE_MICROPHONE |
后台音频访问 | 捕获音频输入,例如捕获用户向虚拟助理发出的语音指令,但不会对其进行保存或录音。 |
TYPE_PHONE_CALL |
通话:移动网络/VoiP/Telecom API | 支持各种与通话相关的拨号器功能。 |
TYPE_REMOTE_MESSAGING |
将文本通信中继到其他设备 | 在用户切换设备时,协助用户继续处理消息任务。例如,允许用户扫描二维码并在 Web 客户端和手机之间建立连接,从而允许用户通过 Web 客户端发送短信。不限于短信。 |
该声明将于 2023 年 11 月之前上线推出,我们会给您留出时间来完成该声明、接收反馈,并根据需要做出调整。
适用于 Android 14 的全屏 intent 要求
您可能需要使用全屏 intent 通知来分享需要用户立即注意的高优先级通知。为确保此权限仅用于恰当的高优先级用例,对于 Android 14,我们将针对 USE_FULL_SCREEN_INTENT
权限的使用引入限制。以这种方式限制通知,有助于为用户提供更好的体验。
自 2024 年 5 月 31 日起,如果您使用 USE_FULL_SCREEN_INTENT
权限,则必须填写 Play 管理中心声明,以指出应用是否具有许可的核心功能且符合自动授权的资格条件。自 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 之前的版本为目标平台,请继续在应用清单文件的 <service> 元素中使用 android:foregroundServiceType
属性。
用户发起的数据传输作业旨在简化通过网络进行的数据传输。它们具有约束跟踪并会自动管理唤醒锁定。“dataSync”前台服务类型可能涵盖在本地传输数据或通过网络传输数据的情形,还可能涵盖在设备上本地处理数据的情形。如果您的用例是为响应用户的明确请求而通过网络(例如 WLAN、移动网络或蓝牙)传输数据,建议您使用用户发起的数据传输作业,而不是“dataSync”前台服务类型。
对于 Android 14,USE_FULL_SCREEN_INTENT
将从一般权限改为特殊应用访问权限。此外,只有当应用的核心功能属于高优先级用例(设置闹钟或接听来电或视频通话)时,系统才会自动授权应用使用 USE_FULL_SCREEN_INTEN
权限。“核心功能”应理解为应用的主要用途。如果没有这些功能,应用就会发生故障或无法使用。其他应用仍可使用此权限,但必须先获得用户授权。
这些变更将于 2024 年 5 月 31 日生效。
如果您的应用以 Android 14 及更高版本为目标平台,您可以选择在 Play 管理中心的应用内容页面(政策 > 应用内容)声明您应用的核心功能需要全屏 intent 通知。该声明将于 2024 年 4 月上线推出,我们会给您留出时间来完成该声明。