iOS app url scheme跳转到淘宝商品详情页 唤醒app
2024-08-30 10:38:19
最近涉及的一个业务,在app内的一个广告,点击打开webView,加载的是一个淘宝商品详情页,效果是打开该webView自动跳转至淘宝对应的页面,同时在自己的app仍然加载页面,点击评论等也同样能跳转至淘宝客户端
经过拦截该网页,得出一个结论,如果是需要跳转,淘宝都会调用一个tbopen开头的地址,这样那就简单了,以下直接贴代码
1、第一步:info.plist添加白名单
这里经过反复测试,发现淘宝自定义跳转协议只有tbopen,所以我猜测淘宝客户端肯定添加了tbopen这样一个url scheme,所以我们只要加这个白名单就有直接跳转的能力了
2、第二步:拦截tbopen关键字,处理对应的业务逻辑
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{ NSURL *requestUrl = navigationAction.request.URL; if ([navigationAction.request.URL.scheme containsString:@"tbopen"]) {//拦截tbopen开头的url
if ([[UIApplication sharedApplication] canOpenURL:requestUrl]) {//能打开手机淘宝APP
[[UIApplication sharedApplication] openURL:requestUrl];// 打开淘宝app
}
}
decisionHandler(WKNavigationActionPolicyAllow);
}
ok,经过上面的两歩之后我们就不需要考虑其他东西了,这也是经过淘宝开发人员和产品设计多年迭代出的作品,应该考虑还是比较全面的,所以稍微观察一下规律按照他们的规则来就好了
注:经过多次测试发现并不是每次打开webView都会调用tbopen开头的url,但第一次一定会,这个影响不大,具体原因还没深入研究,如有不对之处,欢迎指正
最新文章
- <;转>;Win7系统下利用U盘安装Ubuntu_12.04实现双系统教程
- Sublime Text 3 Install Markdown Preview Plugins
- 深入理解js——隐式原型
- [转]Oracle SOME,ANY,All,EXISTS,IN
- 使用text-overflow:ellipsis对溢出文本显示省略号有两个好处
- python 大文件以行为单位读取方式比对
- POJ 2217 Secretary (后缀数组)
- 移动端300ms点击延迟
- C#中的函数式编程:递归与纯函数(二)
- VisualVM监控远程服务器JVM
- 详解JSOUP的Select选择器语法
- 【转】33 个 2017 年必须了解的 iOS 开源库
- python练习题-day13
- for...in的改进版for...of
- VS工具栏没有出现可用工具的情况
- log4net 单独项目
- shell seq 用法
- 缓存 Memached
- Redis笔记(2)单机数据库实现
- Spring第四天——SSH整合
热门文章
- ListView虚拟模式封装
- 【Luogu】P1607庙会班车Fair Shuttle(线段树+贪心)
- BZOJ 3990 [SDOI2015]排序 ——搜索
- 算法复习——2—sat(bzoj2199)
- 【SDOI2018】战略游戏(同时普及虚树)
- javaScriptCore 实战与小结
- POJ 3099 Go Go Gorelians
- ElasticSearch集群状态查看命令大全
- C++练习,计算间隔天数
- [UIScreen mainScreen].applicationFrame与[UIScreen mainScreen].bounds区别