现在好多的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 更多内容可点击下方白皮书了解:
}