美文网首页
如何禁止Universal Links跳转

如何禁止Universal Links跳转

作者: 听丶死亡在唱歌 | 来源:发表于2018-09-13 17:03 被阅读0次

    前言

    最近项目中要放个携程网页,本以为用WKWebView,但是产品测试给我反应,如果手机装了携程App,点击携程网页会自动跳转到携程App,由于是分佣模式,如果跳转到携程App下单的话,并不会记录到我们的订单中。

    1.URL Schemes

    第一个反应就是 URL Schemes,是不是这个原因导致的。
    App跳转其他App的时候,我们都会有一个提示框,XXXX想打开微信,如果我们点确定就会直接跳到微信。但是要要在项目中的URL Types中配置,还需要加入白名单。


    image.png

    解决:
    1.很多要打开微信App的时候,url链接都是wechat://开头的,其实这就是微信的URL Schemes
    2.然后我百度找到了携程的URL Schemes
    3.在WKWebView代理中,如果url的URL Schemes是携程的,就禁止跳转

    结果当然是失败了。

    2.Universal Links(通用链接)

    一种能够方便的通过传统HTTP链接来启动APP,使用相同的网址打开网站和APP,使用就不介绍了,我要实现的是反其道而行。

    大概意思就是:苹果公司希望优化用户体验,用户不用点击跳转App的提示弹窗,直接拉起你要跳转的App,但是需要进行一些列配置。

    解决:
    只需要在WKWebView代理中加入如下代码就可以了。

    - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{
        //返回+2的枚举值
         decisionHandler(WKNavigationActionPolicyAllow + 2);
    }
    

    相关文章

      网友评论

          本文标题:如何禁止Universal Links跳转

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