In-App 更新

重要

Visual Studio App Center 于 2025 年 3 月 31 日停用,但分析和诊断功能除外,这些功能将继续受支持,直到 2026 年 6 月 30 日。 了解详细信息

使测试人员能够轻松了解最新版本。 集成适用于 iOSAndroidMAUI/Xamarin 的 App Center SDK(和分发模块),以便为新版本自动启用应用内通知。 完成后,通过 App Center 的所有未来版本 都会为每个测试人员触发应用内通知,以便快速升级到最新版本。

重要

目前,In-App 更新存在一些限制:

  1. 如果versionCodeversionName没有变化,Android 设备将不会收到更新提示。
  2. 对于 iOS 应用内的公开更新,如果使用私有通道,Apple 会出现一个默认的对话框,且必须关闭。 公共流不需要登录。
  3. In-App 更新不适用于 Windows/UWP 应用程序。

公共 In-App 更新

若要启用应用内公共更新,请创建 一个公共通讯组 ,并使用 App Center SDK 分发发布。 测试人员安装应用后,当新版本公开发布时,系统会发出警报。

与应用程序存储的兼容性

安卓

如果应用程序是从 Google Play 或其他商店而不是 App Center 安装的,则检查新版本将被禁用。

即使应用内更新代码在运行时未使用,Google 也可以将其视为恶意行为。 建议在将代码提交到 Google Play 之前从应用程序中删除此代码。 为了方便起见,我们提供了 App Center Distribut SDK 版本和 stubbed API,因此唯一的更改是依赖项交换。 可以在 AndroidMAUI/XamarinUnity 页面上找到详细说明。

iOS

如果应用程序是通过 App Store 或 TestFlight 安装的,应用内更新将不可用,并且检查新版本的功能将被禁用。

常见问题

  1. 为什么测试人员要求反复进行身份验证?
  • App Center SDK 使用设备的默认浏览器来存储 Cookie。 在以下情况下,SDK 将要求重新进行身份验证:
    • 测试人员从设备的默认浏览器清除了 Cookie。
    • 测试人员为设备的默认浏览器禁用了 Cookie。
    • 测试人员在打开应用后关闭了第一个身份验证窗口。
    • 用于初始化 SDK 的应用机密与 App Center Web 门户上列出的应用机密不同。
  1. 当新版本的应用发布时,测试人员为何看不到应用内更新消息?
  • 多个方案可能导致测试人员无法收到应用内更新通知:
    • 应用中心 SDK 分发功能已禁用。 应用启动时必须启用和初始化 App Center SDK 分发功能。 如果测试人员安装了禁用分发功能的版本,则需要手动安装最新版本。
    • 自动检查更新功能已禁用。 如果禁用了更新的自动检查,则应用不会在启动时检查新版本。 调用 checkForUpdate 时会进行检查。
    • 应用程序的新发行版本不正确
      • 对于 Android:递增版本号。
      • 对于 iOS:递增 CFBundleShortVersionString 并遵循语义化版本标准
  1. 为什么测试人员看到“应用内更新已禁用”消息?
  • 多个方案可以使 App Center SDK 显示此消息:
    • 未从 App Center 安装该应用。
    • 测试人员安装的版本并非通过 App Center 发布,或者该发布版本已在 App Center 上被删除。
    • SDK 中使用的应用机密不正确。 若要获取应用机密,请转到应用的设置页面,单击右上角的三个垂直点,并复制应用机密。
      • 如果已从 HockeyApp 迁移应用,请参阅以下文章:
        • iOS:[从 HockeyApp 迁移][ios-sdk-migration]
        • Android:[从 HockeyApp 迁移][android-sdk-migration]