In-App 更新
使您的测试人员能够轻松地及时了解最新版本。 集成 App Center SDK (和适用于 iOS、 Android或 Xamarin 的分发模块) ,自动为新版本启用应用内通知。 完成后,通过 App Center 的所有 未来发布 都将对每个测试人员触发应用内通知,以便快速升级到最新版本。
重要
目前,In-App 更新存在一些限制:
- 如果或中没有更改,则不会提示 Android 设备进行更新
versionCodeversionName。 - 对于 iOS 公共应用内更新,如果使用的是专用轨迹,则 Apple 有一个必须解除的默认对话框。 公共流不需要登录名。
- In-App 更新在 Windows/UWP 应用程序上不起作用。
公用 In-App 更新
若要启用公共应用内更新,请创建一个 公共通讯组 ,并使用 App Center SDK 分发发布。 一旦您的测试人员安装了该应用程序,新版本公开上市后,就会发出警报。
与应用程序存储的兼容性
Android
如果从 Google Play 或其他存储而不是 App Center 中安装应用程序,则将禁用检查是否有新版本。
即使在运行时未使用,Google 也可将应用内更新代码视为恶意行为。 建议先从应用程序中去除此代码,再将其提交到 Google Play。 为简化此操作,我们提供了版本的 App Center 将 SDK 与用作存根 Api 一起发布,因此,只需进行依赖关系交换即可。 可以在 Android、 Xamarin或 Unity 页上找到详细说明。
iOS
如果应用程序是从应用程序存储或 TestFlight 安装的,则应用程序内更新不可用,并且将禁用检查是否有新版本。
常见问题解答
- 为什么测试人员需要重复进行身份验证?
- App Center SDK 使用设备的默认浏览器来存储 cookie。 在以下情况下,SDK 会要求重新进行身份验证:
- 测试人员从设备的默认浏览器中清除了 cookie。
- 测试人员禁用了设备默认浏览器的 cookie。
- 测试人员在打开应用后关闭了第一个身份验证窗口。
- 用于初始化 SDK 的应用密码与 App Center web 门户上列出的密钥不同。
- 为什么当发布新版本的应用时,测试人员看不到应用内更新消息?
- 多个方案可能导致测试人员无法获取应用程序内更新通知:
- App Center SDK 分发功能已禁用。 在应用启动时,必须启用和初始化 App Center SDK 分发功能。 如果测试人员安装了已禁用分发功能的版本,则需要手动安装最新版本。
- 已禁用自动检查更新。 如果禁用 "自动检查更新",则该应用在启动时不会检查是否有新版本。 调用 checkForUpdate 时,会发生检查。
- 对于新版本,应用的发布版本不正确
- 对于 Android:递增版本代码。
- 对于 iOS:递增
CFBundleShortVersionString并符合语义版本标准
- 测试人员为什么会看到 "已禁用应用程序更新" 消息?
- 多个方案可以使 App Center SDK 显示此消息:
- 应用未从 App Center 安装。
- 安装程序的版本未通过 App Center 释放,或者 App Center 上已删除发布。
- SDK 中使用的应用密码不正确。 若要获取应用程序密钥,请转到应用的 "设置" 页,单击右上角的三向竖点,然后复制应用程序密钥。
- 如果已从 HockeyApp 迁移你的应用,请参阅以下文章:
- iOS: 从 HockeyApp 迁移
- Android: 从 HockeyApp 迁移
- 如果已从 HockeyApp 迁移你的应用,请参阅以下文章: