首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android App 版本監控:如何統計用戶是否更新到最新版?

     編輯:程式設計疑難解答

場景:公司內部 App,60 人使用,需要知道誰沒更新

老闆要求後台能看到每個裝置的版本號,找出未成功安裝的用戶。

核心方案:請求攜帶版本號,服務端統計


// Android 客戶端:每次請求 Header 帶上版本
OkHttpClient client = new OkHttpClient.Builder()
    .addInterceptor(chain -> {
        Request original = chain.request();
        Request.Builder builder = original.newBuilder()
            .header("X-App-Version", BuildConfig.VERSION_NAME) // 或 VERSION_CODE
            .header("X-Device-Id", getUniqueDeviceId())        // 識別裝置
            .method(original.method(), original.body());
        return chain.proceed(builder.build());
    })
    .build();

服務端處理邏輯

  1. 攔截所有 API 請求,讀取 X-App-Version、X-Device-Id。
  2. 寫入資料庫:device_id, version, last_active_time。
  3. 管理後台查詢:SELECT device_id, version FROM devices WHERE version < latest_version。
  4. 可搭配推播通知提醒未更新用戶。

替代方案對比

方案優點缺點
HTTP Header 帶版本(推薦)無侵入業務邏輯、即時、準確需修改網路層
專用上報介面邏輯清晰需額外呼叫、用戶不開啟 App 就無數據
應用市場統計免開發無法綁定具體用戶/裝置、延遲大

注意事項

  • 裝置識別碼:Android 8.0+ 建議用 Settings.Secure.ANDROID_ID 或生成 UUID 存儲於 SharedPreferences。
  • 版本號:用 BuildConfig.VERSION_CODE(整數)比較大小,VERSION_NAME 供顯示。
  • 隱私合規:告知用戶收集版本與裝置資訊用途。

一言以蔽之:**客戶端請求帶版本,服務端聚合分析**,最輕量且有效。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved