ITPub博客

首页 > IT职业 > IT图书 > iOS 网页打开APP,并且跳转到对应界面

iOS 网页打开APP,并且跳转到对应界面

IT图书 作者:zhaozy78 时间:2021-09-09 09:32:26 0 删除 编辑

大家在浏览网页的时候,有时会遇到这种情况。当你的手机中有某一个APP的时候,恰巧你打开的网页是该APP官网的某个页面,这时浏览器会提示你,“在‘xxx’中打开?”这几个字样,点击“打开”后,系统就会自动打开APP,并且跳转到对应页面。这个和点击推送打开APP并且跳转的功能很类似。那么,我们需要怎么配置才合理呢?

首先我们需要在APP内部设定一个URL Schemes。你可以把它理解为APP在网页端的文本传输协议,比如:http。在网页端,当调用一个网址时,iOS系统会自动检测该网址是否是一个APP注册的URL Schemes,如果是,就会提示打开该APP。听起来很抽象对吧,哈哈哈,先看图:


图片描述

URL Schemes.jpg

这样我就生成了一个URL Schemes:test-deepLinking。所以,调用“test-deepLinking://”时,浏览器就会提示你,“在‘你的APP名’中打开?”。so easy有木有。


图片描述

1.jpeg

图片描述

2.jpeg

当然了,此时的效果仅仅限于能帮你在浏览器打开APP而已,接下来就是跳转了。
在AppDelegate中,有这样的一个方法

-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options {    return YES;
}

当用户用过URL Schemes打开APP时,就会调用这个方法。并且将对应的网址URL通过方法对应的参数“url”传递给你。这个时候,你就可以将传过来的url进行处理并且跳转了。比如:输入了一个网址test-deeplinking://test/product/123,这时候我在APP中就能取到product/123,然后知道了需要跳转到Product页面,id是123。(这里面的规则各不相同,可以根据各个公司需求而定)如下:

图片描述

3.jpeg


图片描述

4.jpeg

很简单吧,接下来只要和公司做好规则,然后就可以轻松的进行网页和APP之间的跳转了。当然我需要提醒一下大家,因为Safari是苹果公司的官方浏览器,所以大家在进行测试的时候还是主要使用Safari,用别的浏览器可能实现不了跳转,这个是没有办法的事情(我也很无奈T_T)。

谢谢大家,因为这章基本没有代码,所以有不理解的随时可以联系我。



作者:枫developer
链接:https://www.jianshu.com/p/8e7a9eb49358


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3276/viewspace-2810633/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-14

  • 博文量
    72
  • 访问量
    426