.

H5中的重力感应不可用及解决方案

小常发表于:2019年05月05日 14:37:42更新于:2021年03月29日 10:19:04

一、问题简介

各位派友,经测试,重力感应功能相关的效果:包括摇一摇触发,重力感应控制图片移动,layer 容器重力感应部分、一镜到底、全景容器组件中需要重力感应控制的部分、陀螺仪组件,在H5中无法默认开启。

二、详细说明

以苹果手机为例:微信打开H5,主要借助苹果自带的Safari浏览器。最新苹果手机系统版本,限制了Safari浏览器获取用户感应器信息,只有经过用户同意才可获取,即没有经过H5打开用户的同意,H5没有权限使用重力感应功能。

详细请参考苹果官网给出的系统版本安全性说明:《关于 iOS 12.2 的安全性内容》,具体信息截图如下:

0015cce807e297fb1b0ff3da9277eb6


三、解决方案

必须让用户通过点击元素的方式来获取当前用户重力感应权限授权。如图所示:

存在的限制:提示会比较强硬,会直接显示当前作品网址要获取权限,无法修改弹窗样式;如果用户点击了取消,将无法获取用户对当前H5作品的重力感应权限。

image.png

该方式仅适用于企业版用户,支持使用JS执行代码。目前专业版用户可以提交工单,由意派工作人员协助处理,1个工作日内。


其他特殊情况:

如果用户出现未开启权限的情况,可以考虑开启浏览器重力感应权限。正常微信打开H5后,是要用苹果浏览器Safari打开的,所以要给safari浏览器修改下设置:

1.找到苹果手机的设置,往下滑,找到Safari浏览器,点击。

0015d47d68db02844dba85f3323e3bb


2.进入Safari浏览器的设置后,找到动作与方向访问,可以看到默认是关闭的,点击右侧按钮打开即可正常使用重力感应相关的陀螺仪、摇一摇等功能。

0015d47d6da69a8dee4b99b7f3a6500


其他方案(手机系统升级,该方案已失效)

目前经测试,仅通过安全加密网址发布的H5网址链接,可正常使用重力感应相关的摇一摇、陀螺仪等功能。注:安全加密网址仅意派基础版及以上版本用户可用。

但该功能不能确保彻底解决该问题,存在一定风险,最终结果取决于后期苹果系统及微信官方对该感应权限的调整。