从 HockeySDK 迁移到 App Center Android SDK

重要

Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但你可以考虑迁移到几个建议的替代方法。

详细了解支持时间线和替代方案。

如果要更新应用程序以使用 App Center SDK 而不是 HockeySDK,请遵循此文档。

1. 更新库

() app/build.gradle 打开项目的应用级别 build.gradle 文件,并替换配置中的dependencies { ... }以下行。

早于:

implementation 'net.hockeyapp.android:HockeySDK:...'

晚于:

def appCenterSdkVersion = '5.0.4'
implementation "com.microsoft.appcenter:appcenter-analytics:${appCenterSdkVersion}"
implementation "com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}"
implementation "com.microsoft.appcenter:appcenter-distribute:${appCenterSdkVersion}"

App Center SDK 采用模块化方法设计 - 只能集成感兴趣的服务。 在本部分中,需要将每个 SDK 模块添加为单独的依赖项。 请参阅下表中的等效项:

HockeyApp 类 App Center 模块
MetricsManager Analytics
CrashManager Crashes
UpdateManager Distribute

2.更新 SDK 设置代码

2.1 转换应用程序标识符

App Center SDK 使用全局唯一标识符 (GUID) 格式的应用程序标识符。 App Center 可以使用 HockeyApp 应用 ID,但需要将其转换为不同的格式。 若要转换标识符,必须添加四个连字符才能获取 8-4-4-4-12 表示形式。

在 (HockeyApp) 之前: 00112233445566778899aabbccddeeff

(App Center) 后: 00112233-4455-6677-8899-aabbccddeeff

2.2 替换应用程序代码中的 SDK 初始化

  1. 替换活动类中的以下导入。

    早于:

    import net.hockeyapp.android.CrashManager;
    import net.hockeyapp.android.metrics.MetricsManager;
    import net.hockeyapp.android.UpdateManager;
    

    晚于:

    import com.microsoft.appcenter.AppCenter;
    import com.microsoft.appcenter.analytics.Analytics;
    import com.microsoft.appcenter.crashes.Crashes;
    import com.microsoft.appcenter.distribute.Distribute;
    
  2. 替换应用的“main活动类”-callback 中的onCreate注册代码。

    早于:

    CrashManager.register(this);
    MetricsManager.register(getApplication());
    UpdateManager.register(this);
    

    晚于:

    AppCenter.start(getApplication(), "{Your App Secret}", Analytics.class, Crashes.class, Distribute.class);
    

    如果使用元数据来提供应用程序标识符,则必须将其从那里复制到初始化代码并删除

    <meta-data android:name="net.hockeyapp.android.appIdentifier" android:value="..." />
    

    AndroidManifest.xml 文件。

  3. 在整个应用程序中替换 HockeyApp API 调用。 下面提供了详细的 API 映射表。

3. 服务和功能比较

核心

功能 HockeyApp 应用中心
调整日志级别 HockeyLog.setLogLevel AppCenter.setLogLevel
标识安装 仅供内部使用 AppCenter.getInstallId
标识用户 仅崩溃 AppCenter.setUserId

分析

功能 HockeyApp 应用中心
自动跟踪会话 是,可通过 禁用 MetricsManager.setSessionTrackingDisabled 无法禁用文档 ()
具有属性的自定义事件 MetricsManager.trackEvent Analytics.trackEvent
在运行时禁用服务 MetricsManager.disableUserMetricsMetricsManager.enableUserMetrics Analytics.setEnabled

崩溃

功能 HockeyApp 应用中心
自动发送崩溃 默认情况下禁用 默认启用文档 ()
附加其他元数据 可以从侦听器) 附加文档 (
“自定义用户”对话框 默认情况下未提供文档 ()
获取有关发送状态的信息 文档
有关上一次崩溃的信息 CrashManager.getLastCrashDetails Crashes.getLastSessionCrashReport

分发

注意

与 HockeyApp 不同,App Center 应用内更新功能仅适用于 默认情况下 使用 App Center 分发 服务分发 () 版本。 如果应用使用的是专用通讯组,在添加 App Center 分发 SDK 后首次安装并打开应用后,浏览器将打开以对用户进行身份验证并启用应用内更新。 如果在运行时设置专用应用内更新跟踪,此浏览器也会打开。 这是一次性步骤,不会在应用的后续版本中发生。 有关更多详细信息,请参阅 App Center 分发文档

功能 HockeyApp 应用中心
受限的应用内更新 LoginManager.verifyLogin Distribut.setUpdateTrack
在运行时禁用服务 UpdateManager.unregister Distribute.setEnabled
自定义更新对话框 文档

反馈服务

App Center 不支持反馈服务。 请参阅 HockeyApp 反馈