不能登陸Google帳號

【案例描述】web

最近在將本身開發的WEB H5應用打包成快應用後,在使用Google帳號註冊、登陸時,卻遇到了以下圖的403報錯。chrome

998a4b796d3a228681b752dc74e73422.png

【問題分析】json

從上圖錯誤頁面能夠看到,Google給出了緣由:Errordisallowed_useragent。也就是說Google對加載H5應用的瀏覽器UA進行了限制,並且它建議是chrome瀏覽器。顯然問題答案與UA有關係。瀏覽器


【解決方案】ide

1. 定義變量model, model表示用戶的手機型號,在data對象內添加model變量,代碼以下圖所示:ui


c31761ff0ddbdc3f4b0d3c1de8853daa.png


2. model賦值:在頁面的生命週期onInit()方法中獲取手機型號,代碼以下:this

1234 onInit: function () {            const device = require("@system.device")            const res = device.getInfoSync();             this.model=res.model;

3. 設置web組件屬性 useragent 值爲 Mozilla/5.0 (Linux; Android 9; {{model}}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36)) 以下圖所示:spa

c91784a779bf3d7fb801edec162150e9.png


注意: useragent的值中使用了變量model,使用變量model的做用是獲取真實的手機型號,避免有些H5網頁在驗證useragent時獲取到的手機型號不對,從而給用戶帶來了困擾。3d


   4. 設置 manifest.json 文件中的minPlatformVersion 值爲1068code


   5. 請確保使用的華爲快應用加載器版本爲2.2.0.304及以上版本。查看加載器版本的方式如右邊圖所示:


7004f66afcc4400bf87dec5322c4c49d.png


注意:1,2,3,4步驟完成後,若是登陸還有問題,請在web

添加以下代碼:

multiwindow="true"


  • H5應用打包成快應用是海外很是重要的解決方案,在沒有GMS服務的手機上,依然能夠使用Google的服務,好比本案例中的Google帳號。

  • 本案例的解決方案也適用於H5快應用其餘帳號登陸的一些問題。

相關文章
相關標籤/搜索