從 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 初始化
取代活動類別中的下列匯入。
之前:
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;
取代應用程式主要活動類別『
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 檔案。
取代整個應用程式的 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.disableUserMetrics 和 MetricsManager.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 意見反應。