不能登陆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快应用其余帐号登陆的一些问题。

相关文章
相关标签/搜索