自己动手
$109 每个平台,一次性付费
WebViewGold 许可证:一个现成的 Xcode 或 Android Studio 项目。粘贴您的 URL,设置名称和图标,开启所需功能,构建并提交。永久免费更新。
在主页查看方案Google Play 审核被拒
从 Android 14 开始,每个前台服务都有一个声明的类型,Google 要求以 Android 14 或更高版本为目标的应用在 Play Console 中用说明和视频为每种类型提供理由。典型的 Web 封装应用根本不需要前台服务。如果您的 bundle 中出现了前台服务,请先查明它的来源,然后要么移除它,要么提交一段与使用场景相符的视频进行声明。
每个平台一次性 $109 起,或由我们的团队全程代劳,$698 起。
前台服务是指应用在用户去做别的事情时仍持续执行的工作,并通过一条持续显示的通知让用户看得到:音乐播放、导航、锻炼记录、通话。从 Android 14 开始,每个前台服务都必须声明一个类型(location、mediaPlayback、dataSync、camera、microphone、health、phoneCall 以及其他几种),应用还必须持有对应的 FOREGROUND_SERVICE_* 权限。有些类型还需要底层的运行时权限,例如 location 类型需要位置访问权限。
Google Play 在此基础上增加了一个审核环节。以 Android 14 或更高版本为目标并使用前台服务的应用,需要在“应用内容”页面上填写前台服务声明。对于每种类型,您需要描述使用它的功能,说明如果系统推迟或中断该任务会对用户造成什么影响,从列表中选择对应的使用场景,并附上一段视频链接,展示用户触发该功能的操作步骤。Google 的前台服务要求介绍了这份表单。它背后的预期是:任务由用户发起,或者用户能明显察觉到它,并且它不能简单地推迟到以后再执行。
有两种典型情况。审核之前:在您说明应用是否使用前台服务权限、并声明所用的每种类型之前,上传或发布会被阻止。审核之后:声明被拒,原因是视频没有展示该功能、所选的使用场景与视频中展示的内容不符,或者该类型对于应用的用途来说理由不足。一直上传同一类视频的开发者会形容自己陷入了死循环。出路是修正功能、使用场景和视频之间的不一致,或者移除该服务。
| 类型和权限 | 典型来源 | 怎么办 |
|---|---|---|
location / FOREGROUND_SERVICE_LOCATION | WebViewGold 用于后台追踪的 GPSService(requireBackgroundLocation) | 只有用于属于应用核心、由用户发起的追踪时才保留;否则就重新把这些代码块注释掉 |
mediaPlayback / FOREGROUND_SERVICE_MEDIA_PLAYBACK | 音频或媒体库 | 只有当息屏播放音频是核心功能时才保留 |
dataSync / FOREGROUND_SERVICE_DATA_SYNC | 同步、备份或上传库 | 通常应移除;对于用户请求的传输,Google 建议使用用户发起的数据传输作业(user-initiated data transfer jobs) |
camera、microphone、phoneCall | 视频通话或语音 SDK | 只用于真正的通话功能 |
health / FOREGROUND_SERVICE_HEALTH | 健身追踪库 | 只在用户主动记录锻炼时使用 |
specialUse | 少见,来自自定义代码 | 需要书面理由并会被审核;它不是绕过合适类型的捷径 |

把 Web 应用转换成原生应用的绝佳方式!周转速度快,无需开发完整的原生应用就能把应用上架到应用商店!
清理大约一小时,每保留一种类型就需要一段视频。
在 Android Studio 中打开 AndroidManifest.xml,切换到 Merged Manifest 标签页,搜索 foregroundServiceType 和 FOREGROUND_SERVICE。在 Play Console 中,App Bundle 浏览器会列出 Google 从您的 bundle 中提取出的权限。
它是由用户启动的吗?它运行时用户能察觉到吗?如果对于您的应用实际提供的某项功能,这两点都不成立,这个服务就不应该出现在应用中。
对于 WebViewGold 的位置服务,把 requireBackgroundLocation 设为 false,并注释掉 FOREGROUND_SERVICE_LOCATION 和 GPSService 代码块(参见Android 地理定位文档)。对于库,用下面的规则移除权限及其服务,然后测试该库提供的功能;移除一个库仍在调用的服务可能会导致崩溃。
在真机上录屏:打开应用,必要时登录,点按启动该功能的控件(例如调用 backgroundlocationon:// 的“开始追踪”按钮),展示持续显示的通知,离开应用以表明任务明显仍在继续,然后停止它。把视频以不公开列出的形式上传到 YouTube。
在“应用内容”页面上打开前台服务声明,针对每种类型用一两句话描述该功能,说明任务被推迟或中断时会出现什么问题,选择与视频相符的使用场景,并粘贴链接。
提高版本代码,构建新 bundle,并替换测试轨道上的旧 bundle。一旦没有任何有效 bundle 再包含您已移除的类型,就不再需要为它进行声明。目标 API 级别指南解释了为什么在这里用最新模板重新构建同样重要。
从 Merged Manifest 标签页中复制确切的类名;下面的类名只是占位符。之后请测试该库的功能。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<!-- 移除应用未使用的前台服务类型 -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" tools:node="remove" />
<application>
<!-- 占位符:请使用 Merged Manifest 标签页中显示的类名 -->
<service android:name="com.example.somelibrary.SyncForegroundService" tools:node="remove" />
</application>
</manifest>用用户会使用的措辞描述一项具体的功能,并让视频准确展示这些步骤。模板保留英文,因为 Google 审核人员阅读的是英文。
Feature description: When a courier taps Start shift, [App name] starts a location foreground service that shares the courier's position with dispatch until the courier taps End shift. An ongoing notification is shown the whole time. Impact if deferred or interrupted: Dispatch loses the courier's position during the delivery, customers see wrong arrival times, and orders cannot be reassigned when a courier is delayed. The task cannot be postponed, because the position is only useful in real time. Use case: [the closest match from the list, for example user-initiated location sharing]. Video: [YouTube link], showing login with the test account from Sign-in details, Start shift, the ongoing notification, the app in the background with tracking active, and End shift. The same feature is declared in the Location permissions declaration.
因为您的 bundle 中有 FOREGROUND_SERVICE 权限或带类型的服务,通常是某个库或您不需要的模板代码块带进来的。在合并后的清单中找到它并移除;如果什么都不剩,就不再需要声明了。
不需要。OneSignal、Firebase Cloud Messaging 和 Pushwoosh 通过系统投递通知,您的应用中不需要前台服务;定时的本地提醒也不属于前台服务的使用场景。
specialUse 用于其他类型都无法涵盖的任务,Google 会审核书面理由。把它用于明显属于其他类型(例如 location 或 mediaPlayback)的用途,只会招致拒审。
视频从功能中途开始、跳过了启动服务的用户操作、展示的流程与所选使用场景不同,或者因为链接设为私享而无法打开。请让视频简短、线性,并让任何拿到链接的人都能观看。
不能。Google 要求新应用和更新以较新的 API 级别为目标,因此当前的每个应用都以 Android 14 或更高版本为目标,只要使用前台服务就需要声明。
结果相同,只是您需要投入的工作量不同。三种方式都附带审核通过保证和 7×24 小时人工支持。
$109 每个平台,一次性付费
WebViewGold 许可证:一个现成的 Xcode 或 Android Studio 项目。粘贴您的 URL,设置名称和图标,开启所需功能,构建并提交。永久免费更新。
在主页查看方案$349 每个许可证,一次性附加购买
无需 Mac、Xcode 或 Android Studio:在浏览器中完成配置,我们在云端构建两个应用,并将其交付到 App Store Connect 和 Play Console。
Cloud Builder 如何运作 试用免费演示$698 每个平台 $798
把您的 URL 和图标发给我们。我们的团队在 72 小时内完成配置、构建并交付您的应用,白标,附源码项目。两个平台共 $1,158。
Full Service 详情 服务提供方:冬季特惠价格有效期至 2026年12月31日。
App Store & Google Play 审核通过保证 – 否则 14 天内退款
想直接交给我们?Full Service:我们在 72 小时内完成配置、构建并交付,每个平台 $698 起。有疑问?通过 7×24 小时在线聊天联系我们。
退款依据我们 FAQ 中列出的条件:应用因非内容原因被 Apple 和/或 Google 拒审,并在购买后 14 天内提出申请。