webview是什么东西iOSappurlscheme跳转到淘宝商品详情页唤醒app
最近涉及的⼀个业务,在app内的⼀个⼴告,点击打开webView,加载的是⼀个淘宝商品详情页,效果是打开该webView⾃动跳转⾄淘宝对应的页⾯,同时在⾃⼰的app仍然加载页⾯,点击评论等也同样能跳转⾄淘宝客户端
经过拦截该⽹页,得出⼀个结论,如果是需要跳转,淘宝都会调⽤⼀个tbopen开头的地址,这样那就简单了,以下直接贴代码
1、第⼀步:info.plist添加⽩名单
这⾥经过反复测试,发现淘宝⾃定义跳转协议只有tbopen,所以我猜测淘宝客户端肯定添加了tbopen这样⼀个url scheme,所以我们只要加这个⽩名单就有直接跳转的能⼒了
(当然你也可以加taobao这个⽩名单,那对应的你的openURL就需要⾃⼰拼接,例如 taobao://)
2、第⼆步:拦截tbopen关键字,处理对应的业务逻辑
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{    NSURL *requestUrl = quest.URL;
if ([quest.URL.scheme containsString:@"tbopen"]) {//拦截tbopen开头的url
if ([[UIApplication sharedApplication] canOpenURL:requestUrl]) {//能打开⼿机淘宝APP
[[UIApplication sharedApplication] openURL:requestUrl];// 打开淘宝app
}
}
decisionHandler(WKNavigationActionPolicyAllow);
}
ok,经过上⾯的两歩之后我们就不需要考虑其他东西了,这也是经过淘宝开发⼈员和产品设计多年迭代出的作品,应该考虑还是⽐较全⾯的,所以稍微观察⼀下规律按照他们的规则来就好了
注:经过多次测试发现并不是每次打开webView都会调⽤tbopen开头的url,但第⼀次⼀定会,这个影响不⼤,具体原因还没深⼊研究,如有不对之处,欢迎指正

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。