跳至内容
WebViewGold 从 Vibe Coding 到 App Store
中文
获取 WebViewGold

Google Play 审核被拒

Google Play 隐私政策无效或缺失:链接为什么被拒,以及如何修复

Google Play 要求每个应用都提供隐私政策,即使应用不收集任何数据也不例外,而且它必须出现在两个地方:Play Console 中的字段和应用内。这类拒审大多与政策内容无关,而在于审核人员能否打开它,所以修复通常只是改一下 URL,再在应用菜单中加一个链接。

每个平台一次性 $109 起,或由我们的团队全程代劳,$698 起。

  • 审核通过保证 – 否则 14 天内退款
  • 无需编程
  • 一次性付费,免费更新
  • 7×24 小时人工支持
  • 2014 年起德国出品 · ISO 27001

Google 对隐私政策的要求

Google 的用户数据政策要求每个应用都提供隐私政策,包括不访问任何个人数据或敏感数据的应用。它必须填写在 Play Console“应用内容”页面的隐私政策字段中,还必须能在应用内获取,形式可以是链接或文字。链接背后的页面必须满足几个形式条件:

  • 它在一个有效、可公开访问、不受国家或地区限制的 URL 上加载。
  • 它是网页,而不是 PDF,访问者无法编辑。
  • 它清楚地标明自己是隐私政策,例如在页面标题中注明。
  • 它写明商店详情中显示的应用或开发者,并提供隐私联系人或提交隐私问题的途径。
  • 它说明应用访问、收集、使用和分享哪些个人数据和敏感数据、与哪些方分享、如何保护,以及保留多久、如何删除。

内容还必须与您的数据安全回答保持一致,但不能仅限于这些回答。Web 封装应用隐私政策指南介绍了该写些什么;本页讲的是如何让链接被接受。

拒审通知通常怎么写

通知通常会写 Invalid Privacy Policy(隐私政策无效)或隐私政策缺失,引用用户数据政策,并附上一条具体原因。典型的原因有:链接失效或无法加载;页面不是隐私政策(例如是您的首页或服务条款);政策没有写明您的应用或开发者;政策遗漏了应用已知会处理的数据;或者审核人员在应用内找不到政策。

请仔细阅读原因。每种原因的修复方法都不同,改了无关的地方后再提交同一个 URL,只会让您多花一轮审核。

审核人员为什么打不开您的政策

问题Vibe Coding 应用中的典型原因修复方法
直接打开时显示 404/privacy 路由只存在于您的单页应用内部。在应用内点击可以正常打开,但直接访问会返回托管服务的 404 页面,因为服务器没有回退到 index.html 的规则。在托管服务中为客户端路由添加重写规则,或者把政策发布为一个静态的 privacy.html 文件。
重定向到登录页面路由器保护了每一个路由,所以政策页面会把访问者送到 /login。把政策路由设为公开。对您的条款和账号删除页面也这样处理。
预览或测试环境 URL链接指向构建工具的预览、受密码保护的预览部署,或者会进入休眠的开发 URL。使用您正式环境的自定义域名,并保持路径稳定。
被地区限制或机器人防护拦截国家/地区封锁、针对数据中心流量的防火墙规则,或者挡在整个网站前面的激进验证页面。把政策 URL 排除在地区规则和验证之外,然后通过 VPN 从其他国家/地区测试。
PDF 或可编辑文档从政策生成工具导出的 PDF,或者任何人都能编辑、或需要申请访问权限的共享 Google 文档。把文字发布为普通网页。网站构建工具上公开、只读的页面没问题;可编辑的文档则不行。
名称错误或缺失政策中写的是构建工具或模板公司的名称,或者仍然包含“[Company Name]”。按照商店详情中的写法准确写明应用和开发者,并添加联系邮箱。
文字被同意墙挡住在访问者点击接受之前,Cookie 或同意浮层会盖住整个页面。让政策页面在用户同意之前就显示可读的文字,或者把它排除在浮层之外。

我很高兴购买了这个应用!非常简单,文档也很棒。联系客服后,他们回复很快且非常友好,一天之内就解决了我的问题。10/10,值得推荐。

Nelis Geiger · CodeCanyon

在浏览器之外检查 URL

在任意终端中运行这些命令。第一条命令的结果必须以 200 状态码结束,并且没有重定向到登录页面。第二条命令显示政策文字是否就在 HTML 本身中;只有在 JavaScript 运行后才出现的政策通常在浏览器中能正常显示,但静态文字可以再排除一种检查看到空白页面的可能。

bash
# 1. 状态码和重定向(最后一行应为 HTTP/2 200)
curl -sIL https://www.example.com/privacy | grep -iE "^(HTTP|location)"

# 2. 政策文字是否在 HTML 中,而不只是由 JavaScript 渲染?(应输出大于 0 的数字)
curl -sL https://www.example.com/privacy | grep -ic "privacy policy"

# 3. 使用移动浏览器的用户代理做同样的状态检查
curl -sIL -A "Mozilla/5.0 (Linux; Android 15) AppleWebKit/537.36 Chrome Mobile Safari/537.36" https://www.example.com/privacy | grep -iE "^HTTP"

应用内链接:审核人员会在哪里找

这项要求的后半部分,正是 Web 封装应用最常遗漏的。在您的网站上,隐私链接位于页脚。在应用中,您很可能为了获得类应用的布局而隐藏了页脚,链接也就随之消失了。审核人员会在显而易见的地方寻找:设置或个人资料页面、菜单,以及注册和登录页面。

  • 在您的 Web 应用中:在设置或账号页面添加一个“隐私政策”条目,并在注册表单下方加一个小链接。如果您只在应用内隐藏页脚,例如通过自定义 CSS 文件或自定义 USER_AGENT,请把链接移到仍然可见的位置。
  • 在原生外壳中:WebViewGold for Android 有一个可选的原生导航抽屉,通过 ENABLE_NAVIGATION_DRAWER 开启。它的条目来自 res/menu/menu_drawer.xml,每个条目都会在 WebView 中加载对应的 URL,所以加一行“隐私政策”只是一个小改动;参见导航抽屉文档。
  • 政策位于其他域名:如果页面由某个政策服务托管,Config.java 中的 EXTERNAL_LINK_HANDLING_OPTIONS 决定它是在应用内、应用内标签页还是浏览器中打开。只要能打开,这几种方式都可以接受。

修复并重新提交

通常一个晚上就够了,大部分工作都在 Web 应用中完成。

  1. 把政策发布在稳定的公开 URL 上

    使用您自己域名上的路径,例如 /privacy,无需登录、无需接受 Cookie、也没有验证页面即可访问,并把页面标题设为“隐私政策”(Privacy Policy)。

  2. 写明应用和开发者

    按照商店详情中的写法,准确写出应用名称和开发者或公司名称,并提供用于隐私请求的电子邮件或邮寄地址。

  3. 涵盖应用在网站之外新增的内容

    封装应用经常会处理网站不处理的数据:来自 OneSignal 或 Firebase 的推送 token、崩溃报告、展示 AdMob 广告时的广告 ID,以及您的 Web 应用请求的相机或位置。逐一写明,并与您的数据安全回答保持一致。WebViewGold 还提供一段可选的应用披露说明,用于说明应用在 WebView 中显示您的网站。

  4. 添加应用内链接

    设置或账号页面、注册页面,也可以加在原生抽屉中。请在已安装的构建版本中检查,而不只是在浏览器中。

  5. 更新 Play Console

    把确切的 URL 粘贴到“应用内容 → 隐私政策”中。如果修改了数据安全回答,也一并保存。

  6. 重新提交或回复

    提交更改以供审核。如果政策一直都能访问,而且您能证明这一点,就改为在“政策状态”页面中回复或提出申诉;下面的模板会有帮助,申诉指南介绍了具体流程。

回复模板:您检查了什么、改了什么

要具体。一份列出 URL、链接在应用中的位置以及修改内容的回复,比一份抗议得到回复的速度更快。模板保留英文,因为 Google 审核人员阅读的是英文。

粘贴到申诉或回复表单中并按需调整
Hello Google Play team,

Thank you for reviewing [app name] ([package name]), version code [number].

The notice says our privacy policy is invalid because [quote the reason from the notice]. We have checked and addressed this:

- Privacy policy URL: [https://www.example.com/privacy]. It is a public web page, requires no login, is not a PDF and has no regional restrictions. We tested it from [countries] on [date].
- The page is titled "Privacy Policy" and names the app [app name] and the developer [developer name as on the listing], with the contact [email].
- It covers the data the app handles: [account data, push token, crash reports, ...], consistent with our Data safety answers.
- Inside the app, the policy is linked from [Settings > Privacy policy] and from the sign-up screen. To reach it: [steps].

[If you changed something: Since the review, we have (describe the change).]

Please let us know if a specific part of the policy still does not meet the requirements.

Kind regards,
[name], [developer account name]

常见问题

如果我的应用不收集任何数据,还需要隐私政策吗?

需要。Google 要求每个应用都提供隐私政策,包括不访问任何个人数据或敏感数据的应用。这种情况下政策可以很短,但必须存在,并写明这一点。

我可以把隐私政策托管在 Notion、Google Sites 或政策生成工具上吗?

一般可以,前提是页面公开、无需登录即可加载、访问者无法编辑、不是 PDF,并且写明了您的应用或开发者。任何人都能编辑、或需要申请访问权限的共享 Google 文档不符合这一标准。

我网站的隐私政策对应用来说够用吗?

可以是同一个页面,只要它也涵盖应用新增的内容:推送 token、崩溃报告、广告 ID,以及您的 Web 应用使用的任何设备权限。

应用内的隐私链接可以在外部浏览器中打开吗?

可以。要求是用户能从应用内访问到政策。在 WebView、应用内标签页或 Chrome 中打开都可以接受。

隐私政策必须提到 WebViewGold 吗?

不必。WebViewGold 提供一段可选的披露说明以增加透明度,但 Google 要的是对您数据处理方式的描述,而不是对应用所用技术的描述。

让您的应用上架商店的三种方式

结果相同,只是您需要投入的工作量不同。三种方式都附带审核通过保证和 7×24 小时人工支持。

自己动手

$109 每个平台,一次性付费

WebViewGold 许可证:一个现成的 Xcode 或 Android Studio 项目。粘贴您的 URL,设置名称和图标,开启所需功能,构建并提交。永久免费更新。

在主页查看方案

Cloud Builder

$349 每个许可证,一次性附加购买

无需 Mac、Xcode 或 Android Studio:在浏览器中完成配置,我们在云端构建两个应用,并将其交付到 App Store Connect 和 Play Console。

Cloud Builder 如何运作 试用免费演示

Full Service

$698 每个平台 $798

把您的 URL 和图标发给我们。我们的团队在 72 小时内完成配置、构建并交付您的应用,白标,附源码项目。两个平台共 $1,158。

Full Service 详情 服务提供方: WeSetupYourWebViewApp

冬季特惠价格有效期至 2026年12月31日。

准备好发布您的应用了吗?

App Store & Google Play 审核通过保证 – 否则 14 天内退款

想直接交给我们?Full Service:我们在 72 小时内完成配置、构建并交付,每个平台 $698 起。有疑问?通过 7×24 小时在线聊天联系我们。

退款依据我们 FAQ 中列出的条件:应用因非内容原因被 Apple 和/或 Google 拒审,并在购买后 14 天内提出申请。