Android SDK 疑難解答
重要
Visual Studio App Center 已排定於 2025 年 3 月 31 日淘汰。 雖然您可以繼續使用 Visual Studio App Center,直到它完全淘汰為止,但有數個建議您考慮移轉至的建議替代方案。
需要哪些 Android 許可權?
視您使用的服務而定,需要下列許可權:
- 所有服務:
INTERNET
、ACCESS_NETWORK_STATE
- 散發:
REQUEST_INSTALL_PACKAGES
、DOWNLOAD_WITHOUT_NOTIFICATION
SDK 會自動將必要許可權合併到應用程式的指令清單中。
這些許可權都不需要在運行時間核准使用者,都是安裝時間許可權。
分析數據不會顯示在入口網站中
請確定您已正確整合 SDK 模組。
請確定隨附正確的應用程式密碼以及
start()
方法呼叫。 您可以在入口網站中開啟應用程式並流覽至 使用者入門 頁面,以複製確切start()
的程式代碼。如果您想要查看傳送至後端的記錄,請將記錄層級變更為應用程式中 的詳細資訊 ,SDK 會在控制台中列印記錄。 在啟動 SDK 之前,請先呼叫下列 API。
AppCenter.setLogLevel(Log.VERBOSE);
AppCenter.setLogLevel(Log.VERBOSE)
檢查記錄顯示 [App Center SDK 已成功設定] (信息記錄層級) ,然後檢查您是否看到 HTTPS 要求記錄。
請確定您的裝置已上線。
有時候,記錄可能需要幾分鐘的時間才會出現在入口網站中。 如果是這種情況,請稍候一段時間。
若要檢查 App Center 後端是否已收到您的數據,請移至 Analytics 服務中的 [記錄流程] 區段。 一旦傳送事件,您的事件應該會出現。
當機不會顯示在入口網站中
請確定您已正確整合 SDK 模組。
請確定隨附正確的應用程式密碼以及
start()
方法呼叫。 您可以在入口網站中開啟應用程式並流覽至 使用者入門 頁面,以複製確切start()
的程式代碼。當機後重新啟動應用程式。 我們的 SDK 只會在重新啟動損毀記錄檔之後轉送。
如果您想要查看傳送至後端的記錄,請將記錄層級變更為應用程式中 的詳細資訊 ,SDK 會在控制台中列印記錄。 在啟動 SDK 之前,請先呼叫下列 API。
AppCenter.setLogLevel(Log.VERBOSE);
AppCenter.setLogLevel(Log.VERBOSE)
檢查記錄顯示 [App Center SDK 已成功設定] (信息記錄層級) ,然後檢查您是否看到 HTTPS 要求記錄。
請確定您的裝置已上線。
有時候,記錄可能需要幾分鐘的時間才會出現在入口網站中。 如果是這種情況,請稍候一段時間。
如果您想要檢查 SDK 是否在下次應用程式啟動時偵測到當機,您可以呼叫 API 來檢查應用程式是否在最後一個工作階段中當機,並顯示警示。 或者,您可以擴充損毀回呼,以查看它是否已成功傳送至伺服器。
若要檢查 App Center 後端是否收到損毀,請移至分析服務中的 [記錄流程] 區段。 您的當機應該會出現在該處,一旦傳送它。
散發和應用程式內更新會封鎖我的自動化UI測試
如果您執行自動化 UI 測試,啟用的應用程式內更新將會封鎖您的自動化 UI 測試,因為它們會嘗試對 App Center 後端進行驗證。 建議您不要為 UI 測試啟用 App Center 散發。
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 |
合作夥伴中心分析 | 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()
}