爬虫无法通过网页登录
Google 明确表示,当应用通过 WebView 内基于网页的流程让用户登录时,无法使用测试账号凭据。在登录页面后面,爬虫在每台设备上都只能看到同一个页面。
Google Play 测试
每次上传 bundle,Google 都会把它安装到一组测试设备上,让爬虫在应用中点按几分钟,并记录出现的问题。对于 Web 封装应用,很多噪音来自网页内容和 SDK,所以关键在于分辨:哪些发现审核人员也会遇到,哪些您只需记下就可以继续往前走。
每个平台一次性 $109 起,或由我们的团队全程代劳,$698 起。
当您把 app bundle 上传到 Play Console 时,Google 会自动把它安装到其测试实验室中的一批设备上(手机、平板电脑,有时还有 Chromebook,运行 Android 9 或更新版本),让爬虫通过点按、输入和滑动探索几分钟,然后卸载。结果通常在大约一小时内出来,有时要几个小时。如果报告两天后仍未完成,重新上传会启动一份新的报告。
报告会统计错误、警告和次要问题,把它们分为稳定性、性能、无障碍和安全几类,并为每台设备附上截图和视频。它是诊断工具,而不是审核结论:警告并不会阻止您发布。但在首次启动时,爬虫和人工审核人员看到的应用是一样的,所以任何拦住爬虫的东西,很可能也会拦住审核人员。关于崩溃和白屏的原因,请参阅功能故障指南;本页讲的是如何解读这份报告。
Google 明确表示,当应用通过 WebView 内基于网页的流程让用户登录时,无法使用测试账号凭据。在登录页面后面,爬虫在每台设备上都只能看到同一个页面。
无障碍检查读取的是 WebView 暴露出来的内容,所以您 React 代码中一个没有标签的图标按钮,就会成为您应用的一条发现。
关于非 SDK 接口或库版本的警告,往往来自广告、推送或分析 SDK,而不是您写的任何代码。
没有 Cookie、没有已保存的同意、没有会话。Cookie 横幅或新手引导弹窗会出现在每台设备上,挡住您想让爬虫看到的内容。
| 发现 | 在 WebView 应用中的常见含义 | 优先级 |
|---|---|---|
| 崩溃或 ANR | 某项功能已开启但没有配置,例如有广告却没有 AdMob 应用 ID,或者启用了 Firebase 推送却没有 google-services.json | 发布前修复。堆栈跟踪通常会写明是哪个 SDK |
| 空白或白色截图 | URL 无法访问、机器人防护拦截了测试实验室的流量,或者混合内容导致页面无法加载 | 发布前修复。审核人员也会看到同样的情况 |
| 截图只显示登录页面 | 爬虫无法通过网页登录 | 为审核做好准备而修复:提供公开或演示区域并添加深度链接,见下文 |
| 每张截图上都有 Cookie 横幅 | 首次访问时显示的同意浮层 | 把它做得紧凑一些,让内容保持可见;保留您依法必须显示的同意提示 |
| 关于 SSL 处理的安全警告 | WebView 被允许在证书出错时继续加载 | 修复。把 BLOCK_SELF_SIGNED_AND_FAULTY_SSL_CERTS 设为 true,并在托管服务中修复证书链 |
| 关于库版本的安全警告 | 来自过时模板的旧版 SDK | 用最新的 WebViewGold 模板构建来修复 |
| 无障碍:触摸目标尺寸 | Web 应用中的链接和图标按钮小于约 48 x 48 dp | 修复主导航和主要按钮;正文中的小链接可以稍后再处理 |
| 无障碍:内容标签 | 没有无障碍名称的纯图标按钮和图片 | 在 Web 应用中用 aria-label 和 alt 文本修复 |
| 无障碍:对比度低 | 浅灰色文字、占位文字、颜色很淡的按钮 | 在影响正文和主要操作的地方修复 |
| 性能:启动慢或画面卡顿 | 起始页上的 JavaScript bundle 过大或图片过大 | 有空时改进;不是阻碍项 |
| 使用非 SDK 接口 | 某个 SDK 调用了隐藏的 Android API | 通常只是提示信息;保持模板及其 SDK 为最新版本 |

我很高兴购买了这个应用!非常简单,文档也很棒。联系客服后,他们回复很快且非常友好,一天之内就解决了我的问题。10/10,值得推荐。
这些改动同时有助于爬虫、审核人员和您的商店截图。
如果您的产品允许,让应用打开时进入一个公开区域:演示模式、产品导览,或无需账号即可浏览的内容。爬虫会点按它找到的东西;一个孤零零的登录表单让它无事可做。
在预发布报告设置中,您最多可以列出三个深度链接。主要爬取结束后,爬虫会依次打开每个链接并探索大约 30 秒;每个链接都必须与应用中的某个 intent filter 匹配。在 WebViewGold 中,按照App Links 文档的说明启用自定义 Scheme(IS_CUSTOM_SCHEME_ENABLED 和 CUSTOM_DEEPLINK_SCHEME)或已验证的 App Links,然后使用 yourscheme://https://www.example.com/demo 这样的链接把爬虫带到公开页面。
报告设置中的凭据字段对 WebView 中的网页登录没有帮助。无论如何,都请在“应用访问权限”中保留一个可用的演示账号,因为人工审核人员会用到它。
每台测试设备都是全新状态。让同意提示足够小,使背后的页面依然可见,并在应用内跳过多步骤的新手引导弹窗。
用新的版本代码上传到内部测试。打开报告,对每条发现使用“查看详情”,并观看设备录像:它们会准确显示爬虫卡在了哪里。
无障碍和性能方面的发现大多在 Web 应用中修复,无需新的构建版本即可上线。原生方面的发现(崩溃、SDK 和安全警告)需要重新构建并重新上传。
WebViewGold 会把项目的custom.css应用到在应用中加载的每个页面。因此在您正式修正 Web 应用期间,这里是快速修复触摸目标的好地方。标签应当写在 Web 应用本身中,例如在图标按钮上加 aria-label="Open menu"。
/* WebViewGold Android 项目中的 custom.css:仅在应用内生效的调整 */
/* 导航和主要操作的最小触摸目标 */
nav a,
button,
[role="button"],
.icon-button {
min-height: 48px;
min-width: 48px;
}
/* 让同意横幅保持紧凑,使内容依然可见 */
.cookie-banner {
max-height: 30vh;
overflow: auto;
}不会。这些发现只用于诊断,不会阻止发布。不过崩溃、空白页面和安全问题还是要修复,因为审核人员可能会遇到同样的问题。
报告取决于测试实验室的容量,通常最多需要一小时,有时需要几个小时。如果两天后仍然没有出现,请用新的版本代码重新上传 bundle,以启动一份新报告。
网页登录不行。Google 明确表示,当应用通过 WebView 内基于网页的流程让用户登录时,无法使用测试账号凭据,而这正是封装应用的常见情况。请改为提供公开或演示区域,并添加深度链接。
重要的那些值得。图标按钮的标签、清晰可读的对比度和足够大的点按区域,对真实用户有帮助,也能让应用感觉更像原生应用。它们在 Web 代码中修复,无需新的构建版本即可上线。
通常不需要。它们大多来自使用隐藏 Android API 的 SDK,只是提示信息。正确的应对是让 WebViewGold 模板及其 SDK 保持最新;您不需要自己去修补库。
测试设备涵盖其他屏幕尺寸和 Android 版本,并且总是以全新的配置文件启动。报告中在小屏手机或平板电脑上出问题的布局是真实存在的问题;请在 CSS 中修复。
结果相同,只是您需要投入的工作量不同。三种方式都附带审核通过保证和 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 天内提出申请。