聊一聊iOS下场景还原

作者: 灰_太_狼 | 来源:发表于2018-01-04 19:02 被阅读87次
img.jpg

前言

在开发的过程中,我们很容易就碰到了产品场景还原的需求。那么什么是场景还原呢?举个例子,用户A在某直播App上正在看小姐姐直播,此时他将这个直播间通过QQ/微信等分享给了用户B,用户B之前从未下载过该App,然后他打开用户A分享的链接,进入了H5页面,浏览了一会后,感觉在这个产品直播的小姐姐,很是有趣,渴望深入交流一番,所以就点了H5页面的关注按钮。跳到了App Store下载页面,下载安装注册后,App自动到达了那个小姐姐的直播间,让用户B可以继续观看。这就是典型的场景还原,它在电商,社交,直播App中非常常见。很多第三方sdk都支持这样的操作,典型的比如魔窗,LinkedME等。

那么这些第三方公司究竟是怎么做到的呢?之前笔者在做完这个需求后,也十分的好奇。做了一番了(XIA)解(CAI)后,现在跟大家分享一下,大概里面的原理和流程。有误之处,还望多指正!

  1. 开发人员首先在第三方公司的平台配置一些参数信息,配置通用链接,要传的参数,App下载地址等信息。

2.移动端开发人员代码集成第三方公司的sdk,web端开发人员集成第三方公司的JS sdk。

3.当用户B打开A分享的H5页面时,第三方公司的JS sdk已经开始记录了该用户手机的IP地址 时间戳 设备型号 网络等等信息, 收集完事后会把这些记录传到第三方公司的服务器上。与此同时,H5页面会把给移动端的参数也传给第三方公司的服务器上,服务器会返给H5页面一个链接。

4.当用户B点击H5页面的关注按钮时,H5页面代码执行了打开之前第三方服务器返回的那个链接,通过此链接来判断到底是该打开App呢还是跳到下载页面呢。

5.因为用户B手机之前未下载过该App,所以跳到App Store下载安装后,第一次打开App时,移动端的第三方sdk也会收集IP地址 时间戳 设备型号 网络等等 并传给第三方服务器,服务器在做特征值判断后如果能匹配上就将需要的参数返回给App端,App通过回调拿到参数后,本地保存。等用户完成注册操作后,定位到特定直播间。

以上就是场景还原的大概原理,当然具体到实际商业应用上,第三方公司肯定做了更多的一些操作,来保证这个流程的稳定性。

我在之前了解过程中,产生了以下几个问题,后来通过跟其他小伙伴交流后,有了一些想法,在这里一并记录下来,分享一下。

Q1:为什么第三方公司要记录用户手机的IP地址 时间戳 设备型号 网络等等信息?
A1: 记录的目的是为了作比较,来判断浏览H5的那个手机跟下载App的那个手机是否是同一个。之所以要这么麻烦,去获取这么多信息是为了让判断更精准一些。因为JS不能获取到手机的唯一标识,所以才需要这么麻烦。基于这种模式,会有一定的冲突率。比如我拿两台iPhone,之前都未下载过某App,一样的机型 一样的系统 同一个wifi 然后A点击H5页面,点下载按钮跳到App Store但是不下载,B直接在App Store上搜索该App,然后下载安装。很可能B发生了场景还原。从实际使用场景来看,这种事件发生的概率较小,一旦发生,也未造成任何严重损失,所以可以接受。第三方公司肯定也针对此做过一些优化来减小概率。

Q2:为什么一定要让用户点一下H5页面的那个按钮才能判断?不能直接就判断,该下载的时候下载,该场景还原就场景还原吗?
A2: 这个问题肯定不止我一个遇到过,应该有很多产品经理都会问过开发这个问题。其实这个问题,答案很明确。就是不能!必须是要用户手动去触发H5的那个点击事件后,才能做判断。这里的原因呢,是浏览器为了安全做了限制(web小伙伴告诉我的)。所以即使是他把点击事件里面的代码挪位置,也没卵用~

各位看官老爷,觉得还不错的话,点个喜欢哦~

相关文章

  • 聊一聊iOS下场景还原

    前言 那么这些第三方公司究竟是怎么做到的呢?之前笔者在做完这个需求后,也十分的好奇。做了一番了(XIA)解(CAI...

  • 如何理解场景?

    本来今天聊一聊场景,在不同视角下如何理解场景及其价值,以及如何在日常生活中我们应该如何利用场景。 1.场景...

  • Q聊场景

    飞云龙登陆QQ,发现美女花花在线,飞云龙一阵狂喜,赶紧点击美女头像,跟她Q聊开始:飞云龙:您好,美女花花,见到您真...

  • 聊一聊骨骼力(下)

    一,为什么要关注骨骼健康 国家把骨质疏松认定叫做静悄悄的流行病。把骨质疏松与糖尿病、老年痴呆列为三大重点攻克疾病。...

  • [WWDC2016]How iOS Security Reall

    How iOS Security Really Works session 705 这次主要聊一聊iOS系统安全构...

  • 聊一聊iOS后台任务

    iOS开发的过程中常常会有按下home键盘,进入后台,但不希望当前任务立即停止的情况,比如保存数据,断开链接,继续...

  • 聊一聊为什么考研(下)

    第二段考研历程拖到了这一篇来讲,主要还是打字太累了而我又太唠叨,一写就是洋洋洒洒几千字,只好分成上下篇了。 其...

  • 面试聊iOS:内存管理

    大家好,我是面试聊iOS的程序员。这篇文章将和大家分享面试iOS时聊内存管理一般都可以聊些什么。 抖音搜索 面试聊...

  • 面试聊iOS:多线程

    大家好,我是面试聊iOS的程序员。这篇文章将和大家分享面试iOS时聊多线程一般都可以聊些什么。 抖音搜索 面试聊i...

  • 聊一聊

    就是这样,喜欢自我欺骗,明知道,真心想你,或者有事的人,会打电话给你。却还是忍不住的用微信,看一个人的消息和动态,...

网友评论

    本文标题:聊一聊iOS下场景还原

    本文链接:https://www.haomeiwen.com/subject/wphdnxtx.html