匯出

重要

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

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

App Center 可讓您持續將所有分析原始數據匯出至 Azure。 您可以將分析資料匯出至 Blob 記憶體Application Insights (Azure 監視器) 。 藉由匯出數據,您可以受益於:

  • 無限制的數據保留
  • 詳細的使用分析
  • 整合儀錶板
  • Application Insights 的其他豐富功能,例如漏鬥圖、保留期

App Center 會在您設定匯出時,持續將分析數據匯出至 Application Insights,以及兩天的回填數據。 透過 Application Insights 中的新更新儀錶板,App Center 用戶可以在一個儀錶板上取得應用程式與後端分析的統一檢視。

App Center 會在您設定匯出時持續將分析數據匯出至 Blob 記憶體,以及 28 天的回填數據。 深入瞭解 Blob 記憶體

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

深入瞭解 常規用途 v2 儲存體深入瞭解 Application Insights

Azure Blob 儲存體

Azure Blob 儲存體 是一項服務,可用來儲存大量的非結構化對象數據,例如文字或二進位數據,可透過 HTTP 或 HTTPS 全球取得。 您可以使用 Blob 記憶體公開數據,或私下儲存數據。

數據會每分鐘導出一次,每次都會建立新的子資料夾。 資料會儲存年/月/日/小時/分鐘格式 (,例如, https://<blob-storage-account>.blob.core.windows.net/archive/2017/12/09/04/03/logs.v1.data 當 設定WithoutAppId為 時blob_path_format_kind,預設會) 。 config當 屬性設定為 WithAppId時,數據會以 appId/year/month/day/hour/minute 格式儲存,其前面會加上 appID 的默認路徑。 數據最多需要 5 分鐘的時間才會顯示在 Azure Blob 儲存體 中。

數據分成「分析」數據 (會話、事件) 、「當機」、「錯誤」和「附件」。 深入瞭解如何匯出診斷數據

Azure Blob 儲存體 中的數據視覺效果

Blob 檔案的內容是用戶端裝置記錄的 JSON 陣列,看起來像這樣適用於 Analytics 數據:

[
    {
        "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 Analytics 查詢和文字,以分享小組的見解。

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

Application Insights App Center
timestamp 事件的時間
NAME 自訂事件或數據類型的名稱
customDimensions 這包括下表所示的數個字段
session_Id 唯一會話標識碼
user_Id 安裝標識碼
application_Version 應用程式的版本
client_Type、client_Model 裝置型號
client_OS OS 類型和版本
sdkVersion App Center SDK 版本

下表顯示 「customDimensions」 欄位的欄位對應。

Application Insights App Center
AppBuild 應用程式組建編號
AppId App Center 應用程式識別碼
AppNamespace 應用程式命名空間
CarrierCountry 電信業者國家/地區
CarrierName 電信業者類型
EventId App Center 事件標識碼
IngressTimestamp 記錄擷取時間戳
Locale 裝置語言
MessageType 事件類型 (工作階段、事件...)
OsApiLevel OS API 層級
OsBuild OS 組建編號
OsName OS 名稱
OsVersion 作業系統版本
屬性 附加至自定義事件的屬性
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. 根據您的應用程式需求選取 Blob 記憶體或 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 快速入門指南

將多個應用程式導出至相同的記憶體帳戶

設定多個應用程式的匯出時,您應該使用模型) 的 (部分ExportBlobConfiguration建立或更新blob_path_format_kind組態,WithAppId其前面會加上個別 appID 的導出路徑。

Blob 的路徑的格式如下:

  • 當列舉設定為 WithoutAppId=falseyear/month/day/hour/minute
  • 當列舉設定為 WithAppId=trueappId/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 天。 不需要後端填滿時,有一些情況;例如,如果這樣做會導致覆寫或複製數據。 在這裡情況下,請在建立新組態時將 屬性設定 backfillfalse

選擇要匯出的數據種類

根據預設,新的導出組態只會 (事件、會話等) 診斷相關數據匯出 Analytics 數據,方法是將屬性 (export_entity 模型) 設定Entities為 、 crashesattachments的組合errors。 屬性也允許藉由將值新增 no_logsEntities 數位來匯出分析數據。

自動停用機制

App Center 可能會自動停用不正確的導出組態,以防止整個導出管線中的任何可能延遲。 例如,App Center 會處理來自 Azure 的下列失敗。

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

注意

如果重新啟用匯出的數據流將會從該時間繼續,而不需重新填入,以避免可能的數據覆寫或重複。 如果您需要重新填滿遺漏的數據,則需要重新建立導出組態。 移至 Application Insights 的數據會保留 48 小時和 30 天的 Blob 記憶體。

您可以使用下列其中一個 API 來檢查狀態,以採取還原動作。

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

您可以使用下列 API 來啟用匯出組態

POST /v0.1​/apps​/{owner_name}​/{app_name}​/export_configurations​/{export_configuration_id}/enable

定價

若要設定導出,您必須建立 Azure 訂用帳戶。 匯出數據的成本會取決於您要導出的 Azure 服務。 尋找每個服務定價的詳細數據,網址如下:

Application Insights 定價

Blob 記憶體定價