【SFSafariViewController】之app与wap的cookie连接

本文探讨了在用户从WAP页面过渡到App时如何实现数据互通的两种方案:设备指纹唯一识别和iOSSafariCookie互通。设备指纹识别通过收集设备信息创建唯一标识,但存在误伤可能性;而iOSSafariCookie互通利用SFSafariViewController在App内打开Safari,实现cookie共享,提供精确但受限于Safari的解决方案。文中还介绍了VKSafariDomainBridge工具,简化App内实现互通的流程。
摘要由CSDN通过智能技术生成

简介

本文主要介绍,app跨域访问app外部的浏览器的数据的方案,包括外部safari,或者QQ,微信,手百等外部app内的浏览器。

主要使用场景就是:

用户在别的wap网页上,产生了用户行为,用户数据,但是还没下载app,当用户下载app后,打算直接在app内延续之前在wap上的行为和数据的时候,就需要运用到跨越浏览器与app鸿沟的,互通方案。

简单举个例子就是:

用户在微信浏览器里,访问某个页面,感兴趣并且登陆了,然后引导下载了app,等用户下载完app后第一次打开,希望能自动就完成登陆,甚至同步下来一些刚才用户在wap页面上操作的数据

如果能发生跨浏览器与app的互通,除了这个case之外,还可以有更多地自由发挥,设计出更加舒畅的用户体验

想要实现这样目前看有2个方案,各自都有弊端,都不是完美的,本文会详细说明这两个方案

  • 设备指纹唯一识别方案
  • iOSSafariCookie互通方案

设备指纹唯一识别方案

<!-- more -->

如果用户在wap页面,能通过某种方式识别到唯一的设备标识,当用户离开去下载app,下载完成第一次打开app的时候,app能识别到一样的设备标识,那么就可以判断第一次打开app的用户,就是刚才浏览wap网页的用户,这样服务就可以把刚才wap上操作的数据结果,通过网络下发给app,从而让app实现,还原刚才wap的操作场景

方案流程

  • 用户在wap网页上产生了行为,产生了用户个人数据
  • wap网页收集了一种能够唯一标识设备的信息,并且发送给了服务器
  • app安装完毕后第一次运行,也去通过app尝试收集唯一标识设备的信息,并且发给服务器
  • 服务器经过对比,发现app的唯一标识与wap网页发上来的唯一标识能够匹配
  • 服务器判断,是同一个人操作,于是下发用户个人数据

纵观整个流程发现,一切的核心,一切的关键,就是那个唯一标示

选取唯一标识

这个唯一标识要具备苛刻的条件,想找到其实很不容易

  • 选择当做唯一标识的内容,必须能让app获取的到
  • 选择当做唯一标识的内容,必须也能让wap获取的到
  • 选择当做唯一标识的内容,还必须有能力区分出不同的设备,如果选的唯一标识好几个设备取出来的都一样,那么就乱套了

那么我们看看遵循这几个条件,我们能选择啥?

  • UDID,MAC地址啥的,别说wap了,app都不可能取到了
  • JS有好几套,通过网页渲染canvas的方案获取屏幕"指纹",但这玩意app不可能拿到完全一致的东西,二者对不上,就没任何意义
  • IDFA,IDFV,这玩意app是能取到了,但是wap拿不到啊

上面说的几个都是相对来说,如果能双方都拿到,是可以比较精准的进行设备唯一标识的,但问题是,我们拿不到。。怎么办?

看看下面几个数据

  • 设备屏幕尺寸(iOS设备如此的统一,一共就那么几个屏幕尺寸,重复的还不一堆一堆的)
  • 设备操作系统(iOS系统碎片化如此的低,大部分几乎都升到较高级的系统版本,重复的依然一堆一堆)
  • 设备IP(IP这玩意会变啊,离开WIFI进入3G,经常变,并且IP这玩意在同一WIFI下也重复的一堆一堆的啊)
  • 访问时间(时间这玩意更没谱了,你们的用户量越大,某一个确定的时间段内,发生第一次安装,重复的就越多)
  • 还有更多类似的数据

发现没有,上面的数据最大的特点就是,有一定的描述设备体征的信息,但是如果只靠这一个描述信息,那结果就是重复的太多太多,根本没法确定一个唯一性。

但是,如果我们把这么些描述信息做成一个合集,同一时间内满足所有的条件,那么这个设备重复的概率一下就缩减了太多太多。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值