這很重要
Visual Studio App Center 於 2025 年 3 月 31 日淘汰,但分析和診斷功能除外,這些功能將持續支援到 2026 年 6 月 30 日。 瞭解更多資訊。
需要哪些 Android 許可權?
視您使用的服務而定,需要下列許可權:
- 所有服務:
INTERNET
、ACCESS_NETWORK_STATE
- 散發:
REQUEST_INSTALL_PACKAGES
、DOWNLOAD_WITHOUT_NOTIFICATION
SDK 會自動將必要許可權合併到您應用程式的指令清單中。
這些許可權都不需要在運行時獲得使用者的核准,都是安裝時的許可權。
分析數據不會顯示在入口網站中
請確定您已正確整合 SDK 模組。
請確定包含正確的應用程式密鑰以及
start()
方法呼叫。 您可以在入口網站中開啟應用程式並流覽至 [用戶入門] 頁面,以複製確切start()
的程序代碼。如果您想要查看傳送至後端的記錄,請將記錄層級變更為應用程式中 的 Verbose,SDK 會在控制台中列印記錄。 在您啟動 SDK 之前,請先呼叫下列 API。
AppCenter.setLogLevel(Log.VERBOSE);
AppCenter.setLogLevel(Log.VERBOSE)
檢查記錄顯示「App Center SDK 已成功設定」(在資訊記錄層級中),然後檢查您是否看到 HTTPS 要求記錄。
請確定您的裝置已上線。
有時,記錄可能需要幾分鐘的時間才會出現在入口網站中。 如果情況如此,請稍候一段時間。
若要檢查 App Center 後端是否收到您的數據,請移至 Analytics 服務中的 [記錄流程] 區段。 事件傳送後應立即出現。
當機未顯示在入口網站中
請確定您已正確整合 SDK 模組。
請確定包含正確的應用程式密鑰以及
start()
方法呼叫。 您可以在入口網站中開啟應用程式並流覽至 [用戶入門] 頁面,以複製確切start()
的程序代碼。當機後重新啟動應用程式。 我們的 SDK 只會在重新啟動時轉送當機記錄檔。
如果您想要查看傳送至後端的記錄,請將記錄層級變更為應用程式中 的 Verbose,SDK 會在控制台中列印記錄。 在您啟動 SDK 之前,請先呼叫下列 API。
AppCenter.setLogLevel(Log.VERBOSE);
AppCenter.setLogLevel(Log.VERBOSE)
檢查記錄顯示「App Center SDK 已成功設定」(在資訊記錄層級中),然後檢查您是否看到 HTTPS 要求記錄。
請確定您的裝置已上線。
有時,記錄可能需要幾分鐘的時間才會出現在入口網站中。 如果情況如此,請稍候一段時間。
如果您想要檢查 SDK 是否偵測到下一個應用程式啟動時當機,您可以呼叫 API 來檢查應用程式是否在最後一個工作階段中當機,並顯示警示。 或者,您可以擴充當機回呼,以查看它是否已成功傳送至伺服器。
若要檢查 App Center 後端是否收到當機,請移至 Analytics 服務中的 [記錄流程] 區段。 您的當機一旦被傳送,就會出現在那裡。
發布和應用內更新會封鎖我的自動化使用者介面測試
如果您正在執行自動化UI測試,啟用的應用程式內更新將會封鎖您的自動化UI測試,因為它們會嘗試對App Center後端進行驗證。 建議您不要為 UI 測試啟用 App Center Distribute。
App Center SDK 對 Android 應用程式大小有何影響?
App Center SDK 的設計目的是對應用程式安裝大小的影響最小。
為了說明這一點,我們已使用Android Studio的「空白應用程式」範本建立空的Java應用程式。 我們會在發行組態中建置應用程式,並在執行 Android 7.0 的裝置上安裝應用程式。
測試是在未啟用 Proguard 的情況下執行的。
下列數位可能會有所不同,並視您的組建設定而定,因此請考慮其為粗略指南。 如果您使用 Proguard,SDK 對應用程式的影響會更低。
使用的 App Center 模組 | 導出的 APK 大小 | 裝置所報告的安裝大小 |
---|---|---|
沒有 (空白應用程式) | 1.3 MB | 3.43 MB |
App Center 分析 | 1.4 MB | 3.63 MB |
App Center 當機 | 1.4 MB | 3.70 MB |
App Center 發佈 | 1.4 MB | 3.71 MB |
所有 App Center 模組 | 1.4 MB | 3.82 MB |
保護 App Center 機密值
app_secret
是應用程式的標識碼,必須知道流量套用到哪個應用程式,而且無法用來擷取或編輯現有數據。 如果您的app_secret
被曝露,最大的風險是將錯誤資料傳送至您的應用程式,但是不會影響資料的安全性。
若要擷取任何敏感數據,您必須提供用戶端上產生的應用程式/使用者 令牌。 無法讓客戶端上的數據完全安全。
您可以使用環境變數將應用程式秘密插入程式碼,以改善應用程式的安全性。 如此一來,您的程式代碼中就看不到秘密。
從 jCenter 移轉至 Maven Central
由於 jCenter 支援終止 ,所有元件都已移至 Maven Central 存放庫。
若要使用 App Center,您必須將 新增 mavenCentral()
至 Gradle 檔案中的存放庫,如下所示:
repositories {
google()
mavenCentral()
}