优酷手机网页版如何仅靠 js 就能判断用户是否在手机安装了优酷

2014-08-09 11:21:02 +08:00
 sd4399340
比如用手机的safari随便开一个优酷视频,会有一条banner,两个按钮,下载安装和打开app,如果手机上没有安装优酷的话,点击“打开app”回弹一个小窗,提示你先安装,这是如何做到的?我觉得这里有技巧,即便你安装了优酷的app,点击“打开app”链进去以后如果你回来再打开safari,依然有这个小窗。

因为最近我也在实现一个相关的功能,我知道iOS原生支持的banner可以达到这种效果,没安装就链接到app store,安装了就直接链进app,但是像优酷这种我觉得很神奇啊。

反观乐视的解决方案,如何没安装app的话,点击banner的“立即下载”后safari会先报一个错,然后把你链接到app store,乐视大概用的就是这个技术

https://gist.github.com/pulletsforever/2662899

用一个hidden的iframe先去请求乐视app所注册的custom url schema,如果打不开就可以知道用户没安装乐视app,然后把用户链接到app store,这个方法的坏处就是虽然iframe是隐藏的,但url无效的话safari会先报一个错,体验很不好!

有相关经验的来指导下~
4819 次点击
所在节点    问与答
7 条回复
explon
2014-08-09 12:11:11 +08:00
不好意思,这功能 iOS 只需要一行代码:

<meta content="app-id=518213356" name="apple-itunes-app" />
VeryCB
2014-08-09 12:29:04 +08:00
debug 了一下 youku 移动端的页面,找到了这个 js http://static.youku.com/v1.0.0973/x/js/ph.js

里面有一个 openApp 方法:

https://gist.github.com/VeryCB/999489ff8348eb61e60d

貌似也是用 iframe 做的,我试了一下如果没装优酷App也是会报一个『Cannot Open Page』的错
VeryCB
2014-08-09 12:35:45 +08:00
@explon 你说的是 Smart App Banners,跟楼主问的不是一回事
sd4399340
2014-08-09 16:37:15 +08:00
@explon 不是一回事~
sd4399340
2014-08-09 16:38:09 +08:00
@VeryCB 对啊,奇怪的就是优酷没报这个“cannot open page”的错啊
VeryCB
2014-08-09 17:11:43 +08:00
@sd4399340 我的优酷报了『Cannot open page』...
sd4399340
2014-08-09 17:28:53 +08:00
@VeryCB 哦你意思是你手机的safari报了,我的没报啊,很奇怪。。。那你手机上优酷跟乐视的效果一样啊,乐视我手机上也报了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/126903

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX