從 HockeySDK 移轉至 App Center Android SDK

重要

Visual Studio App Center 已排定於 2025 年 3 月 31 日淘汰。 雖然您可以繼續使用 Visual Studio App Center,直到它完全淘汰為止,但有數個建議您考慮移轉至的建議替代方案。

深入瞭解支持時程表和替代方案。

如果您想要更新應用程式以使用 App Center SDK,而不是 HockeySDK,請遵循此檔。

1.更新連結庫

開啟專案的 app 層級 build.gradle 檔案, (app/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 應用程式識別碼,但您需要將其轉換成不同的格式。 若要轉換標識碼,您必須新增四個連字元,才能取得 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. 取代應用程式主要活動類別『 onCreate-callback 內的註冊程序代碼。

    之前:

    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 App Center
調整記錄層級 HockeyLog.setLogLevel AppCenter.setLogLevel
識別安裝 僅供內部使用 AppCenter.getInstallId
識別使用者 僅當機 AppCenter.setUserId

分析

功能 HockeyApp App Center
自動追蹤會話 是,可以停用 MetricsManager.setSessionTrackingDisabled 無法停用檔 ()
具有屬性的自定義事件 MetricsManager.trackEvent Analytics.trackEvent
在運行時間停用服務 MetricsManager.disableUserMetricsMetricsManager.enableUserMetrics Analytics.setEnabled

損毀

功能 HockeyApp App Center
自動傳送當機 預設為停用 預設會啟用檔 ()
附加其他元數據 Yes 您可以從接聽程式) 附加檔 (
自定義使用者對話框 Yes 預設不會提供檔 ()
取得傳送狀態的相關信息 Yes 文件
先前損毀的相關信息 CrashManager.getLastCrashDetails Crashes.getLastSessionCrashReport

散發

注意

不同於 HockeyApp,App Center 應用程式內更新功能預設僅適用於使用 App Center 散發服務散發) 的發行組建 (。 如果應用程式使用私人通訊群組,在App Center散發SDK新增之後第一次安裝並開啟應用程式後,瀏覽器會開啟以驗證使用者並啟用應用程式內更新。 如果您在運行時間設定私人應用程式內更新追蹤,此瀏覽器也會開啟。 這是一個不會針對後續版本的應用程式進行的單次步驟。 如需詳細資訊,請參閱 App Center散發檔

功能 HockeyApp App Center
受限制的應用程式內更新 LoginManager.verifyLogin Distribute.setUpdateTrack
在運行時間停用服務 UpdateManager.unregister Distribute.setEnabled
自訂更新對話框 Yes 文件

意見反應服務

App Center 不支援意見反應服務。 請參閱 HockeyApp 意見反應