開始使用 Android
重要
Visual Studio App Center 已排定於 2025 年 3 月 31 日淘汰。 雖然您可以繼續使用 Visual Studio App Center,直到完全淘汰為止,但有數個建議的替代方案可以考慮移轉至。
App Center SDK 使用模組化架構,因此您可以使用任何或所有服務。
您可以在 App Center SDK 所收集的數據、 一般數據保護規定和 常見問題 頁面上,找到 App Center 所收集的數據相關信息。
讓我們開始在您的應用程式中設定 App Center Android SDK,以使用 App Center Analytics 和 App Center 當機。 若要將App Center散發新增至您的應用程式,請參閱 App Center散發檔。
1.Prerequisites
開始之前,請確定您已符合下列必要條件:
- Android 專案是在 Android Studio 中設定。
- 您的目標是執行 Android 5.0 版 (API 層級 21) 或更新版本的裝置。
2.在 App Center 入口網站中建立您的應用程式,以取得應用程式秘密
如果您已在 App Center 入口網站中建立您的應用程式,您可以略過此步驟。
- 前往 appcenter.ms。
- 註冊或登入,然後按下頁面右上角的 [ 新增 ] 按鈕,然後從下拉菜單中選取 [ 新增應用程式 ]。
- 輸入應用程式的名稱和選擇性描述。
- 選取 [Android ] 作為 [操作系統] 和 [ Java ] 作為平臺。
- 按兩下 [ 新增應用程式 ] 按鈕。
建立應用程式之後,您可以在 2 底下的 [使用者入門] 頁面上取得其應用程式密碼。啟動 SDK。 或者,您可以按兩下 [ 設定],然後在右上角按兩下 三個垂直點 ,然後選取 [複製應用程式密碼 ] 以取得您的應用程式密碼。
3.新增 App Center SDK 模組
- 開啟專案的 app 層級 build.gradle 檔案, ()
app/build.gradle
,並在 之後apply plugin
新增下列幾行。 在專案中包含您想要的相依性。 本節中每個 SDK 模組都必須新增為個別的相依性。 如果您想要使用 App Center Analytics 和當機,請新增下列幾行:
dependencies {
def appCenterSdkVersion = '5.0.4'
implementation "com.microsoft.appcenter:appcenter-analytics:${appCenterSdkVersion}"
implementation "com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}"
}
注意
如果您的 Android Gradle 外掛程式版本低於 3.0.0,則您需要以編譯取代字組實作。
注意
由於 jCenter 支援終止 ,我們的所有元件都已移至 Maven Central 存放庫。 請遵循 本指南 ,以瞭解如何從 jCenter 移轉至 Maven Central。 請注意,Maven Central 不包含已被取代的模組。 請確定您的項目沒有已淘汰 App Center SDK 模組的相依性。
- 請務必在 Android Studio 中觸發 Gradle 同步處理。
既然您已在應用程式中整合 SDK,現在可以啟動 SDK 並使用 App Center。
4.啟動 SDK
4.1 新增 start () 方法
若要使用 App Center,您必須加入加入您想要使用的模組 () 。 根據預設,不會啟動任何模組,而且您必須在啟動 SDK 時明確呼叫每個模組。
在應用程式的主要活動類別內插入下列這一行- onCreate
callback,以使用 App Center Analytics 和 App Center 當機:
AppCenter.start(getApplication(), "{Your App Secret}", Analytics.class, Crashes.class);
AppCenter.start(application, "{Your App Secret}", Analytics::class.java, Crashes::class.java)
警告
不建議在原始碼中內嵌您的應用程式密碼。
如果您需要個別啟動 App Center 服務,您應該:
- 使用應用程式密碼進行設定或啟動。
- 如果可以多次呼叫程式代碼,請檢查App Center是否已設定。
- 在沒有應用程式密碼的情況下,啟動必要的服務 () 。
AppCenter.configure(application, "{Your App Secret}");
if (AppCenter.isConfigured()) {
AppCenter.start(Analytics.class);
AppCenter.start(Crashes.class);
}
AppCenter.configure(application, "{Your App Secret}");
if (AppCenter.isConfigured()) {
AppCenter.start(Analytics::class.java);
AppCenter.start(Crashes::class.java);
}
例如,如果您的應用程式有多個進入點 (,深層連結活動、服務或廣播接收者) ,請在應用程式自定義類別或每個進入點中呼叫 start
。 在後者的情況下,請檢查App Center是否已在呼叫之前 start
設定:
if (!AppCenter.isConfigured())) {
AppCenter.start(getApplication(), "{Your App Secret}", Analytics.class, Crashes.class);
}
if (!AppCenter.isConfigured()) {
AppCenter.start(application, "{Your App Secret}", Analytics::class.java, Crashes::class.java)
}
4.2 以您的應用程式秘密取代佔位元
請務必以應用程式的實際值取代 {Your App Secret}
文字。 您可以在 App Center 入口網站的 [使用者入門] 頁面或 [設定] 頁面上找到應用程式密碼。
[使用者入門] 頁面包含上述程式代碼範例,其中含有您的應用程式密碼,您可以直接複製並貼上整個範例。
上述範例示範如何使用 start()
方法,並同時包含App Center Analytics和App Center當機。
如果您不想使用這兩個服務之一,請從上述方法呼叫中移除對應的參數。
除非您在 start 方法中明確將每個模組指定為參數,否則您無法使用該 App Center 服務。 此外, start()
API 只能在您應用程式的生命週期中使用一次– 所有其他呼叫都會將警告記錄到主控台,而且只有第一次呼叫中包含的模組可供使用。
例如 - 如果您只想要上線至 App Center Analytics,您應該修改 start()
API 呼叫,如下所示:
AppCenter.start(getApplication(), "{Your App Secret}", Analytics.class);
AppCenter.start(application, "{Your App Secret}", Analytics::class.java)
當您插入 start()
方法之後,Android Studio 會自動建議必要的匯入語句,但如果您看到無法辨識類別名稱的錯誤,請將下列幾行新增至活動類別中的 import 語句:
import com.microsoft.appcenter.AppCenter;
import com.microsoft.appcenter.analytics.Analytics;
import com.microsoft.appcenter.crashes.Crashes;
import com.microsoft.appcenter.AppCenter
import com.microsoft.appcenter.analytics.Analytics
import com.microsoft.appcenter.crashes.Crashes
您全都已設定為在 SDK 自動收集的入口網站上可視化分析和當機數據。
查看 App Center Analytics 和 App Center 當機 的檔,瞭解如何自定義和使用這兩項服務的更進階功能。
若要瞭解如何開始使用應用程式內更新,請閱讀 App Center 散發檔。
5.僅 (Android 備份規則)
注意
目標為 Android 6.0 (API 層級 23) 或更高版本的應用程式會自動啟用自動備份。
注意
如果您已經有具有備份規則的自定義檔案,請切換至第三個步驟。
如果您使用自動備份來避免取得裝置的相關不正確資訊,請遵循後續步驟:
5.1. 針對Android 11 (API 層級30) 或更低。
- 在 res/xml 資料夾中建立 appcenter_backup_rule.xml 檔案。
- 開啟專案的 AndroidManifest.xml 檔案。 將
android:fullBackupContent
屬性新增至<application>
專案。 它應該指向 appcenter_backup_rule.xml 資源檔。
android:fullBackupContent="@xml/appcenter_backup_rule"
- 將下列備份規則新增至 appcenter_backup_rule.xml 檔案:
<full-backup-content xmlns:tools="http://schemas.android.com/tools">
<exclude domain="sharedpref" path="AppCenter.xml"/>
<exclude domain="database" path="com.microsoft.appcenter.persistence"/>
<exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
<exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
<exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
</full-backup-content>
5.2. 針對Android 12 (API 層級31) 或更高版本。
- 在 res/xml 資料夾中建立 appcenter_backup_rule.xml 檔案。
- 開啟專案的 AndroidManifest.xml 檔案。 將
android:dataExtractionRules
屬性新增至<application>
專案。 它應該指向 appcenter_backup_rule.xml 資源檔。
android:dataExtractionRules="@xml/appcenter_backup_rule"
- 將下列備份規則新增至 appcenter_backup_rule.xml 檔案:
<data-extraction-rules xmlns:tools="http://schemas.android.com/tools">
<cloud-backup>
<exclude domain="sharedpref" path="AppCenter.xml"/>
<exclude domain="database" path="com.microsoft.appcenter.persistence"/>
<exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
<exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
<exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
</cloud-backup>
<device-transfer>
<exclude domain="sharedpref" path="AppCenter.xml"/>
<exclude domain="database" path="com.microsoft.appcenter.persistence"/>
<exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
<exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
<exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
</device-transfer>
</data-extraction-rules>