Android進階之路 - 倆端交互user-agent的使用

首次聽到user-agent的概念,及時來惡補一下~

目錄

  • user-agent介紹
  • user-agent作用
  • user-agent的獲取和設置
  • user-agent數據分析

user-agent介紹

User-Agent簡稱UA,中文名爲用戶代理,是Http請求協議中請求頭的一部分,這裏的請求包括GET請求和POST請求

user-agent作用

  • 在手機端/pc端,可以通過user-agent來判斷不同的設備,從而可以顯示不同的排版,進而給用戶提供更好的體驗
    例如:用手機訪問百度和pc端訪問的頁面排版是不一樣的,這些就是百度根據訪問者的UA來判斷的。

  • 通過user-agent,進行信息統計,主要是用於渠道統計
    例如:在之前的工作中碰到過類似情況,在app中接入廣告的sdk,當用戶點擊廣告圖片時就需要通過webview進行詳細廣告頁面的跳轉,這時候就需要在webview中進行UA的自定義設置了,這樣後臺廣告平臺的人員就可以通過UA判斷是哪個客戶端(安卓/蘋果),哪個瀏覽器的客戶,進而進行客戶端的統計。

user-agent的獲取和設置

  • webView獲取user-agent
 WebView webView = findViewById(R.id.webview);
 WebSettings webSettings = webView.getSettings();
 String userAgentString = webSettings.getUserAgentString();
 LogUtil.e("userAgentString=",userAgentString);
  • 重設user-agent

場景1.尾部添加字段

 webSettings.setUserAgentString(userAgentString + "自定義內容");

場景2.替換原來的user-agent (可選自己喜歡的方式)

//replace替換方式
webSettingssetUserAgentString(userAgentString .replace("Android","HFWSH_USER Android"));
//覆蓋重設方式
 webSettings.setUserAgentString("自定義內容");

user-agent數據分析

  • user-agent 完整數據
Mozilla/5.0 (Linux; Android 8.1.0; PACM00 Build/O11019; wv) AppleWebKit/537.36
(KHTML, like Gecko) Version/4.0 Chrome/62.0.3202.84 Mobile Safari/537.36
  • user-agent → 四個分段 → 參數介紹
1)Mozilla/5.0 :表示兼容Mozilla, 幾乎所有的瀏覽器都有這個字符;
2) (Linux; Android 8.1.0; PACM00 Build/O11019; wv): 表示設備的操作系統版本,以及CPU信息;
3)AppleWebKit/537.36 (KHTML, like Gecko):表示瀏覽器的內核;
4) Version/4.0 Chrome/62.0.3202.84 Mobile Safari/537.36: 表示瀏覽器的版本號。

知識擴展

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章