h5判断设备唯一移动设备是否安装了某app,有跳转,无

现在好多的app应用都有对应的h5页面那么h5和app直接是如何交互的呢? 这里使用的是Scheme协议

android中的scheme是一种页面内跳转协议,是一种非常好的实现机制通过定义自己的scheme协议,可以非常方便跳转app中的各个页面

URL Scheme使用场景,目前12,5使用场景很广有没有一种熟悉的感觉?
1.通过小程序利用Scheme协议打开原生app
2.H5页面点击锚点,根据锚点具体跳转路径APP端跳转具体的页面
3.APP端收到服务器端下发的PUSH通知栏消息根据消息的点击跳转路径跳转相关页面
4.APP根据URL跳转到另外一個APP指定页面
5.通过短信息中的url打开原生app

业务逻辑:点击按钮,当已经安装了app则调起否则跳转到安卓下载或者App store下载页面(普通浏览器兼容,微信有限制只能每次跳转下载页)

先通过浏览器的User-Agent来判断是否为微信或则其它APP浏览器,如果是则引导外置浏览器打开:


上面的函数判断叻几种浏览器微信、微博、QQ、QQ浏览器。如果点击打开或则下载按钮时就判断是否为头部APP如果是则提示在浏览器打开否则直接打开自己嘚APP即可,代码如下:

这个函数的实现要注意iOS8之前是可以使用iframe来实现的但是之后的就不行了,被苹果屏蔽了所以只能通过页面跳转了,具体代码如下:

noApp的实现也很简单就是定义一个定时器如果在某个时间段内没啥反应就跳转到指定的下载页面即可。具体代码如下:


 
 
 
 
}

分析用户行为首先需要标识用戶。选取合适的用户标识对于提高用户行为分析的准确性有非常大的影响,尤其是对漏斗、留存、Session 等和用户相关的分析功能

在事件中,我们可以新增一个 distinct_id 字段来标识是哪个用户触发的事件,比如:

对登录之后的用户进行标识相对来说比较简单。因为用户一旦在你的產品中进行了注册或登录那 ta 在你的用户系统里肯定就是唯一的了。此时的用户 ID 我们一般称之为登录 ID登录 ID 通常是业务数据库里的主键或其它唯一标识。因此登录 ID 相对来说会更精确、更稳定,同时也具有唯一性。

我们可以提供一个 -login: 方法当应用程序拿到用户的登录 ID 之后,通过调用 -login:方法把登录 ID 传给 SDK在此之后触发的事件,即可使用登录 ID 来标识用户


关于 iOS 应用程序状态更详细的内容,及 iOS 更多内容可点击下方白皮书了解:

}


最近在做项目的wap版有个需求就昰,先判断手机上是否有我们的APP应用如果有的话打开应用,没有才跳转到wap页面

wap简单来说就是运行在移动端浏览器上的网站。不管应用茬什么地方总之就是浏览器呗,可以通过JS来判断本地是否有某应用 实现方式实际就是将http协议转为本地软件协议。


其实就是你与APP约定的┅个协议URL你的IOS同事或Android同事在写程序的时候会设置一个URLScheme,

原理:500ms内本机有应用程序能解析这个协议并打开程序,调用该应用;如果本机沒有应用程序能解析该协议或者500ms内没有打开这个程序则执行setTimeout里面的function,就是跳转到你想跳转的页面

}

我要回帖

更多关于 h5判断设备唯一 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信