匯出

App Center 可讓您將所有分析原始資料連續匯出至 Azure。 您可以將分析資料匯出至 Blob 儲存體 ,並 Application Insights (Azure 監視器) 。 藉由匯出資料,您可以從下列各項獲益:

  • 無限制的資料保留
  • 詳細使用量分析
  • 整合儀表板
  • Application Insights 的其他豐富功能,例如漏斗圖、保留

當您設定匯出以及兩天的回填資料時,App Center 會持續將分析資料匯出至 Application Insights。 透過 Application Insights 中新的已更新儀表板,App Center 使用者可以在單一儀表板上取得應用程式和後端分析的統一觀點。

當您設定匯出以及28天的回填資料時,App Center 會持續將分析資料匯出至 Blob 儲存體。 深入瞭解 Blob 儲存體

您也可以將資料匯出至 Azure 一般用途 v2 儲存體 Blob。 一般用途 v2 儲存體帳戶能支援最新的 Azure 儲存體功能,而且包含一般用途 v1 與 Blob 儲存體帳戶的所有功能。

深入瞭解一般用途 V2 儲存體 深入瞭解 Application Insights

Azure Blob 儲存體

Azure Blob 儲存體是用來儲存大量非結構化物件資料(例如文字或二進位資料)的服務,可透過 HTTP 或 HTTPS 從全球取得。 您可以使用 Blob 儲存體來公開資料,或私下儲存資料。

資料會每分鐘匯出一次,並在每次建立新的子資料夾。 資料會以 年/月/日/小時/分鐘 的格式儲存 (例如,當設定為時, HTTPs://<blob-儲存體帳戶>. blob.core.windows.net/archive/2017/12/09/04/03/logs.v1.data) 。 blob_path_format_kind WithoutAppIdconfig 屬性設定為時 WithAppId ,資料會以 appid/year/month/day/hour/minute 格式儲存,並以 appid 作為預設路徑的首碼。 資料最多需要5分鐘的時間才會顯示在 Azure Blob 儲存體中。

資料會分割為「分析」資料 (會話、事件) 、「損毀」、「錯誤」和「附件」。 深入瞭解匯出診斷資料

Azure Blob 儲存體中的資料視覺效果

Blob 檔案的內容是用戶端裝置記錄的 JSON 陣列,在分析資料中看起來像這樣:

[
    {
        "AppId": "046d56b8-ea26-4653-97ba-12b8f99c3ef5",
        "Timestamp": "2017-12-09T04:02:53.618Z",
        "InstallId": "e589a371-ea0c-4479-9a7b-9f834adec040",
        "MessageType": "EventLog",
        "IngressTimestamp": "2017-12-09T04:02:57.987Z",
        "MessageId": "980e21a0-0cbb-48ac-8820-28acf4beb00d",
        "EventId": "ad980536-e743-48a9-ab7e-cb043602d2c9",
        "EventName": "log_out",
        "CorrelationId": "83a2daa9-e5b4-4082-ba4a-ce34b95ab859",
        "IsTestMessage": "False",
        "SdkVersion": "1.0",
        "Model": "PC",
        "OemName": "Samsung",
        "OsName": "Android",
        "OsVersion": "8.1.0",
        "OsApiLevel": "2",
        "Locale": "EN",
        "TimeZoneOffset": "PT2M",
        "ScreenSize": "320x240",
        "AppVersion": "1.1.0",
        "AppBuild": "1",
        "AppNamespace": "com.microsoft.test",
        "CarrierName": "AT&T",
        "CarrierCountry": "US",
        "CountryCode": "US",
        "WrapperSdkVersion": "1.0",
        "WrapperSdkName": "mobilecenter.xamarin","Properties": "{\"extra_00\":\"5bcacf3598ca44ebbbc99e4488cfc854\",\"extra_01\":\"2673e48867c74d51af8dc24c762a8b28\",\"extra_02\":\"5b76c801e5074cd3a13ea37253b94484\",\"extra_03\":\"c1e76aa252c947d4b4bcd4d1d96a7be6\",\"extra_04\":\"caea50034c4f441a963700fa3cf70d03\"}",
        "SessionId": "10df497a-4261-4995-b466-3fd77ac47395",
        "SdkName": "mobilecenter.android",
        "OsBuild": "2",
        "WrapperRuntimeVersion": "None",
        "LiveUpdateDeploymentKey": "stage",
        "LiveUpdatePackageHash": "dsadsdasd3211321233",
        "LiveUpdateReleaseLabel": "2.0"
    }
]

Azure Application Insights

Application Insights 是應用程式效能管理 (APM) 服務,可針對您的 App Center 事件資料提供查詢、分割、篩選及使用方式分析功能。 藉由將 App Center SDK 新增至您的應用程式,並將資料匯出至 App Center 應用程式類型 Application Insights 資源,您將可以存取下列功能:

  • Application Insights 分析。 使用強大的查詢語言來分析原始事件資料並建立視覺效果。 您可以將查詢的結果匯出到 Power BIExcel 中。
  • 使用者、會話和事件。 瞭解有多少人正在使用您的應用程式的每個頁面和功能,然後依國家/地區、瀏覽器或其他屬性分割,以瞭解原因。
  • 漏斗圖使用者流程。 瞭解使用者如何流覽您的應用程式。 找出瓶頸。 探索增加轉換率和消除痛點的方法。
  • 保留期。 探索有多少使用者可以使用您的應用程式。 找出其捨棄的位置和原因。
  • 活頁簿。 建立結合使用方式分析視覺效果、Application Insights 分析查詢和文字的互動式活頁簿,以分享您小組的見解。

App Center 欄位會對應至 Application Insights 格式。 以下是對應欄位之間的相等:

Application Insights App Center
timestamp 事件的時間
NAME 自訂事件或資料類型的名稱
customDimensions 這包括下表中顯示的數個欄位
session_Id 唯一會話識別碼
user_Id 唯一的使用者識別碼
application_Version 應用程式的版本
client_Type,client_Model 裝置型號
client_OS 作業系統類型和版本
sdkVersion App Center SDK 版本

下表顯示 "customDimensions" 欄位的欄位對應。

Application Insights App Center
AppBuild 應用程式組建編號
AppId App Center 應用程式識別碼
AppNamespace 應用程式命名空間
CarrierCountry 電信業者國家/地區
CarrierName 電訊廠商類型
EventId App Center 事件識別碼
IngressTimestamp 記錄內嵌時間戳記
Locale 裝置語言
MessageType 事件種類 (會話、事件 ... )
OsApiLevel 作業系統 API 層級
OsBuild 作業系統組建編號
OsName OS 名稱
OsVersion OS 版本
屬性 附加至自訂事件的屬性
ScreenSize 裝置的螢幕大小
SdkName App Center SDK 名稱
SdkVersion App Center SDK 版本
TimeZoneOffset 時區位移
UserId 自訂使用者識別碼 (開發人員集合)
WrapperRuntimeVersion App Center SDK 包裝函式執行階段版本
WrapperSdkName App Center SDK 包裝函式名稱
WrapperSdkVersion App Center SDK 包裝函式版本

取得自訂事件的範例 AI 查詢:

customEvents
    | where name == "YourEventName"
    | extend Properties = todynamic(tostring(customDimensions.Properties))
    | extend YourPropertyName = Properties.YourPropertyName

Application Insights 與 App Center 的詳細資訊:

先決條件

您必須有 Azure 訂用帳戶才能使用匯出;如果您沒有 Azure 訂用帳戶,請在開始之前先建立免費的 azure 帳戶。

Azure 訂用帳戶連結

注意

只有標準匯出才需要此步驟;自訂匯出不需要 Azure 訂用帳戶。

App Center 標準的應用程式資料匯出至 Azure 需要連結至 App Center 應用程式的 Azure 訂用帳戶。 新增訂用帳戶並將其連結至應用程式必須由應用程式擁有者進行 (如果應用程式不屬於組織) 或組織的系統管理員。

新增 Azure 訂用帳戶

  • 屬於組織的應用程式: 如果您是組織系統管理員,請移至應用程式所屬組織下的 [ 管理 ] 區段。
  • 屬於使用者的應用程式: 如果您是應用程式擁有者,請遵循下列步驟。
  1. 登入 App Center 入口網站。
  2. 移至 [使用者設定]。
  3. 在 Azure 中,按一下 [新增訂 用帳戶]
  4. 選取現有的 Azure 訂用帳戶,或建立一個新的訂用帳戶。

將應用程式連結至 Azure 訂用帳戶

當您將 Azure 訂用帳戶新增至使用者或組織帳戶之後,您必須提供應用程式存取權,才能在該應用程式中使用該訂用帳戶。 如此一來,您就可以讓該應用程式中的任何經理/開發人員使用此訂用帳戶來進行匯出。 這會針對您的 Azure 訂用帳戶支付相關費用。

設定匯出

  1. 在 App Center 入口網站上,選擇應用程式。
  2. 移至 應用程式設定
  3. 按一下 [ 匯出 ],然後選取 [ 新增匯出 ] 選項。
  4. 根據您的應用程式需求,選取 [blog 儲存體] 或 [Application Insights]。
  5. 選取您要 (標準與自訂) 的設定類型。

App Center 提供兩種匯出資料的方式: 標準匯出自訂匯出。 標準匯出可讓您使用連結至應用程式的 Azure 訂用帳戶,以單鍵體驗來匯出資料。 自訂匯出可提供您更多的彈性,並會在 Azure 中自訂設定。

標準匯出

標準匯出提供單鍵體驗來匯出您的資料。 使用此選項時,會在 Azure 中自動建立所有必要的資源。

自訂匯出

自訂匯出可讓使用者在 Azure中自訂其匯出設定。

針對 Blob 儲存體

  1. 登入 Azure 入口網站
  2. 按一下 [建立新資源]
  3. 搜尋 Marketplace 中的 儲存體帳戶
  4. 按一下 [ 建立]。 這會開啟 [建立儲存體帳戶] 頁面。
  5. 選取 Azure 訂用帳戶。
  6. 選擇現有的資源群組或建立新群組。 (資源群組是存放 Azure 解決方案相關資源的容器)
  7. 針對帳戶類型,您會看到下列下拉式清單。 支援三個選項。 選擇最適合您的功能。 支援的 Blob 儲存體帳戶
  8. 按一下 [審核 + 建立]
  9. 通過驗證之後
  10. 按一下 [建立]
  11. 部署成功後,請移至資源
  12. 在 [設定] 索引標籤中尋找 存取金鑰
  13. 複製 連接字串 ,並將它新增至您的 App Center 自訂設定。

在 App Center 中新增連接字串

針對 Application Insights

  1. 登入 Azure 入口網站
  2. 選取 [ 建立資源 > 管理工具] > Application Insights。
  3. 將會出現設定方塊
  4. 應用程式類型 設定為 App Center 應用程式
  5. 從 Azure 入口網站複製 檢測金鑰 ,並將它新增至您的 App Center 自訂設定。 您會在 Application Insights 資源的 [總覽] 頁面中找到檢測金鑰。

在 App Center 中新增檢測金鑰

如需匯出的詳細資訊,請參閱 Application Insights 快速入門手冊

將多個應用程式匯出至相同的儲存體帳戶

針對多個應用程式設定匯出時,您應該使用 blob_path_format_kind 模型的 (部分來建立或更新 ExportBlobConfiguration 設定) 設定為,以將匯出路徑的前置詞設為 WithAppId 個別 appID 的首碼。

Blob 的路徑格式如下:

  • 當列舉 WithoutAppId=false 設定為時 year/month/day/hour/minute
  • 當列舉 WithAppId=true 設定為時 appId/year/month/day/hour/minute

上述的匯出設定建立 API。 針對現有的設定,以下是 部分更新 API

PATCH /v0.1/apps/{owner_name}/{app_name}/export_configurations/{export_configuration_id}

變更需要5-10 分鐘的時間才能傳播,然後來自該點的實體將會使用新的路徑格式來撰寫。

退出退出宣告

根據預設,新的匯出設定會將 AI 資源的兩個數據最後一天填滿,而針對 blob 儲存體,則會填滿30天。 在某些情況下,不需要進行回溯填滿;例如,如果這樣做會導致覆寫或複製資料。 在此情況下,請在 backfill 建立新設定時,將屬性設定為 false

選擇要匯出的資料類型

根據預設,新的匯出設定只 將分析資料匯出 (事件、會話等) 診斷相關資料,方法是將 Entities 屬性 (export_entity 模型) 設定為 errors 、和的組合 crashes attachments 。 屬性也可將值新增至陣列,以允許排除分析資料的匯出 no_logs Entities

自動停用機制

App Center 可能會自動停用錯誤的匯出設定,以防止整個匯出管線中的任何可能延遲。 例如,App Center 會處理來自 Azure 的失敗狀況。

  • Application Insights 檢測金鑰無效。
  • 無法驗證 Blob 資源或無法解析遠端名稱。

注意

傳送至 Application Insights 的資料會針對 Blob 儲存體保留48小時和30天。 如果在這段時間內重新啟用匯出,資料就會與備份進行流動。 時間範圍之後的任何資料都會遺失。

您可以使用下列其中一個 Api 來檢查狀態,以便進行還原動作。

GET /v0.1/apps/{owner_name}/{app_name}/export_configurations
GET /v0.1/apps/{owner_name}/{app_name}/export_configurations/{export_configuration_id}

定價

若要設定匯出,您必須建立 Azure 訂用帳戶。 匯出資料會有相關聯的成本,取決於您要匯出至的 Azure 服務。 您可在下列位置找到每個服務的定價詳細資料:

Application Insights 定價

Blob 儲存體定價