Xamarin 使用者入門

App Center SDK 使用模組化架構,因此您可以使用任何或所有服務。

現在就開始在您的應用程式中設定 App Center Xamarin SDK,以使用 App Center 分析和 App Center 損毀。 若要新增 App Center 散發至您的應用程式,請查看 App Center 散發的檔

1.Prerequisites

開始之前,請確定您已符合下列必要條件:

  • 您的專案會在 Visual Studio 2017 或 Visual Studio for Mac 中設定。
  • 您是以執行 iOS 9.0 或更新版本或 Android 5.0 (API 層級 21) 或更新版本的裝置為目標。
  • 您未使用任何其他提供損毀報告功能的 SDK。

適用于 Xamarin 的 App Center SDK 支援下列平臺:

  • Xamarin.Android
  • Xamarin.iOS
  • (iOS、Android、UWP 和 Windows 桌面應用程式的 Xamarin Forms)

1.1 關於 Xamarin. Android

如果您只以 Android 平臺為目標,請選擇此選項。 您需要在 App Center 入口網站中建立一個應用程式,並將 Android 作為作業系統和 Xamarin 作為平臺。

1.2 關於 Xamarin

如果您只以 iOS 平臺為目標,請選擇此選項。 您需要在 App Center 入口網站中建立一個應用程式,並以 iOS 作為作業系統和 Xamarin 作為平臺。

1.3 關於 Xamarin (iOS、Android、UWP 和 Windows 桌面)

如果您想要建立適用于 iOS、Android、UWP 和 Windows 桌面裝置的跨平臺應用程式,請選擇此選項。 您需要在 App Center 中建立4個應用程式-每個作業系統各一個。

您必須選取 xamarin 作為 Android 和 iOS 應用程式的平臺, (UWP 沒有 Xamarin 選項) 。

針對 Windows 桌面 應用程式,您必須設定專案以與 Xamarin 平臺相容。

2. 在 App Center 入口網站中建立您的應用程式以取得應用程式秘密

如果您已在 App Center 入口網站中建立應用程式,則可以略過此步驟。

  1. 前往 appcenter.ms
  2. 註冊或登入,然後按下入口網站右上角的藍色按鈕,其中顯示 [ 新增 ],然後從下拉式功能表中選取 [新增 應用程式 ]。
  3. 輸入應用程式的名稱和選擇性描述。
  4. 根據您的專案,選取適當的作業系統和平臺,如上所述。
  5. 按一下右下方的按鈕,以顯示 [ 新增應用程式]。

建立應用程式之後,您可以在 App Center 入口網站上的 [設定] 頁面上取得其 應用程式密碼。 在 [ 設定 ] 頁面的右上角,按一下 三個垂直點 ,然後選取 Copy app secret 以取得您的應用程式密碼。

3. 將 App Center SDK 新增至您的解決方案

App Center SDK 可以使用 Visual Studio 或封裝管理員主控台來整合。

注意

App Center SDK 使用 強式名稱的元件 ,與使用強式名稱簽署的應用程式相容。

Visual Studio for Mac

  • 開啟 Visual Studio for Mac。
  • 按一下 > [開啟 檔案],然後選擇您的方案。
  • 在解決方案導覽器中,以滑鼠右鍵按一下 [ 封裝 ] 區段,然後選擇 [ 新增 NuGet 套件 ...]。
  • 搜尋 App center,然後選取 app Center 分析app center 當機。
  • 按一下 [ 新增套件]。

適用於 Windows 的 Visual Studio

  • 開啟 Visual Studio for Windows。
  • 按一下 > [開啟 檔案],然後選擇您的方案。
  • 在解決方案導覽器中,以滑鼠右鍵按一下 [ 參考 ],然後選擇 [ 管理 NuGet 套件]。
  • 搜尋 App Center,並安裝 AppCenterAppCenter。 損毀套件。

套件管理器主控台

  • Visual Studio中開啟主控台。 若要這樣做,請選擇 [工具] > NuGet 封裝管理員 > 封裝管理員主控台
  • 如果您是在 Visual Studio for Mac 中工作,請確定您已安裝 NuGet 套件管理擴充 功能。 若要這樣做,請視需要選擇 Visual Studio > 擴充 功能、搜尋 NuGet 和安裝。
  • 在主控台中輸入下列命令:
Install-Package Microsoft.AppCenter.Analytics
Install-Package Microsoft.AppCenter.Crashes

既然您已在應用程式中整合 SDK,現在可以開始使用 SDK 並利用 App Center 服務。

注意

如果您在可移植的專案中使用 App Center SDK (例如 Xamarin) ,您必須在每個專案中安裝套件:便攜、Android 和 iOS。 若要這樣做,您應該開啟每個子專案,並遵循 Visual Studio for Mac 中所述的對應步驟,或 Visual Studio Windows 區段。

4. 啟動 SDK

若要使用 App Center,您必須選擇要使用的模組 (s) 。 依預設,不會啟動任何模組,而且您必須在啟動 SDK 時明確地呼叫每個模組。

4.1 加入 using 語句

先新增適當的命名空間,再開始使用我們的 Api。

  • Xamarin -開啟專案 AppDelegate.cs ,並將下列幾行新增至現有的 using 語句
  • Xamarin -開啟專案 MainActivity.cs ,並將下列幾行新增至現有的語句下方 using
  • Xamarin :開啟專案 App.xaml.cs ,並將下列幾行新增至現有的語句下方 using
using Microsoft.AppCenter;
using Microsoft.AppCenter.Analytics;
using Microsoft.AppCenter.Crashes;

4.2 新增 Start() 方法

4.2.1 Xamarin. Android

注意

如果您是使用適用于 Android 的 HockeyApp SDK,請務必在 App Center SDK 之後 初始化 HockeyApp sdk。

開啟專案的 >mainactivity .cs 檔案,然後在 Start() 方法內加入呼叫 OnCreate()

AppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes));

注意

如果您的應用程式具有背景服務或多個進入點,例如廣播接收器、匯出的活動或內容提供者,建議您 AppCenter 改為在回呼中開始 Application.OnCreate 。 如果此備註適用于您的應用程式,而且您還沒有回呼,請查看 這個 >oncreate 程式碼範例

4.2.2 Xamarin

注意

您的應用程式中不能有一個以上的作用中損毀報告 SDK。 停用其他 Sdk 的損毀報告功能,以確保 App Center 可以攔截損毀。

開啟專案的檔案 AppDelegate.cs ,並在 Start() 方法內加入呼叫 FinishedLaunching()

AppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes));

注意

如果使用損毀,您必須在 UI/主執行緒中呼叫這個方法,並避免在方法傳回之前啟動背景工作 Start 。 原因是,當當機時,從另一個執行緒攔截到的任何 null 參考例外狀況,可能會觸發原生損毀,並忽略 catch 子句。 一旦 AppCenter.Start 方法傳回,就可以放心地嘗試/攔截 null 參考例外狀況。 您可以在 信號和協力廠商損毀記者 文章中閱讀更多有關此時間問題的原因。

4.2.3 Xamarin

若要使用以 iOS、Android 和 UWP 平臺為目標的 Xamarin 應用程式,您需要在 App Center 入口網站中建立三個應用程式-每個平臺各一個。 建立三個應用程式會提供您三個應用程式秘密-每個都有一個。 開啟專案的 app.config 檔 (或您在 Xamarin.Forms.Application 共用或可攜專案中繼承自) 的類別,並在方法中新增下列方法 OnStart()

AppCenter.Start("ios={Your App Secret};android={Your App Secret};uwp={Your App Secret};windowsdesktop={Your App Secret}", typeof(Analytics), typeof(Crashes));

如果您需要分別啟動 App Center 服務,您應該:

  1. 使用應用程式秘密設定或啟動它。
  2. 如果可以多次呼叫程式碼,請檢查是否已設定 App Center。
  3. 啟動必要的服務 (s) ,而不需要應用程式密碼。
AppCenter.Configure("ios={Your App Secret};android={Your App Secret};uwp={Your App Secret};windowsdesktop={Your App Secret}");
if (AppCenter.Configured)
{
    AppCenter.Start(typeof(Analytics));
    AppCenter.Start(typeof(Crashes));
}

重要

大括弧會顯示實際應用程式秘密的放置位置,請勿在呼叫中放入大括弧 Start

注意

如果您是使用適用于 Android 的 HockeyApp SDK,請務必在 App Center SDK 之後 初始化 HockeyApp sdk。 針對您的 iOS 應用程式,您的應用程式中不能有一個以上的作用中損毀報告 SDK。 停用其他 Sdk 的損毀報告功能,以確保 App Center 可以攔截損毀。

注意

前幾節中關於 iOS 和 Android 的附注也適用于 Xamarin. Forms。 如果這些備註適用于您的應用程式,您可能需要在每個平臺的不同位置初始化 AppCenter。

4.2.4 如果您使用自動備份來避免取得裝置的不正確資訊,請遵循後續步驟:

注意

以 Android 6.0 (API 層級 23) 或更高版本為目標的應用程式會自動啟用自動備份。

注意

如果您已經有包含備份規則的自訂檔案,請切換至第三個步驟。

  1. Resources/xml 資料夾中建立 appcenter_backup_rule.xml 檔案。

  2. 開啟專案的 AndroidManifest.xml 檔案。 將 android:fullBackupContent 屬性加入至 <application> 元素。 它應該指向 appcenter_backup_rule.xml 資源檔。

android:fullBackupContent="@xml/appcenter_backup_rule"
  1. 將下列備份規則新增至 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>

4.3 將預留位置取代為您的應用程式密碼

請務必將文字取代為 {Your App Secret} 應用程式的實際值。 應用程式秘密可在 App Center 入口網站的 [ 開始使用 ] 頁面或 [ 設定 ] 頁面上找到。

開始使用頁面包含上述的程式碼範例,其中包含您的應用程式秘密,您可以複製並貼上整個範例。

上述範例顯示如何使用 Start() 方法,並同時包含 App Center 分析和 App center 損毀。

如果您不想要使用這兩項服務的其中一種,請從上述方法呼叫中移除對應的參數。

除非您明確指定每個模組作為 start 方法中的參數,否則您無法使用該 App Center 服務。 此外,API 只能 start() 在應用程式的生命週期中使用一次–所有其他呼叫都會將警告記錄到主控台,而且只會提供第一個呼叫中包含的模組。

例如-如果您想要上架至 App Center Analytics,您應該修改呼叫,如下所示 Start()

4.3.1 Xamarin. Android 和 Xamarin

AppCenter.Start("{Your App Secret}", typeof(Analytics));

4.3.2 Xamarin

AppCenter.Start("ios={Your App Secret};android={Your App Secret};uwp={Your App Secret};windowsdesktop={Your App Secret}", typeof(Analytics));

很棒的是,您已將其設定為在 SDK 自動收集的入口網站上視覺化分析和損毀資料。

查看 App Center 分析app center 損毀的檔,以瞭解如何自訂和使用兩項服務的更先進功能。

若要瞭解如何開始使用應用程式內更新,請閱讀 App Center 散發的檔。

注意

從 Xamarin 表單使用可移植的 Api,您將會看到所有模組的 Api,但 uwpwindows 桌面 平臺上並不支援所有的 Api,而且在 uwpwindows 桌面 應用程式上執行時不會執行任何動作。 尤其是 UWP 和 Windows 桌面不支援下列模組: 散發。 任何具有傳回類型的方法都會傳回 null 物件的 () 、 0 數位) 的 (,或 false UWP 和 Windows 桌面應用程式的布林值 () 。