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

栏目: IOS · 发布时间: 7年前

内容简介:大家在浏览网页的时候,有时会遇到这种情况。当你的手机中有某一个APP的时候,恰巧你打开的网页是该APP官网的某个页面,这时浏览器会提示你,“在‘xxx’中打开?”这几个字样,点击“打开”后,系统就会自动打开APP,并且跳转到对应页面。这个和点击推送打开APP并且跳转的功能很类似。那么,我们需要怎么配置才合理呢?首先我们需要在APP内部设定一个URL Schemes。你可以把它理解为APP在网页端的文本传输协议,比如:http。在网页端,当调用一个网址时,iOS系统会自动检测该网址是否是一个APP注册的UR

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

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

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

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

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

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

当然了,此时的效果仅仅限于能帮你在浏览器打开APP而已,接下来就是跳转了。

在AppDelegate中,有这样的一个方法

-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
    return YES;
}

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

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

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

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

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

作者:枫developer

链接:https://www.jianshu.com/p/8e7a9eb49358


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Scratch少儿趣味编程

Scratch少儿趣味编程

[ 日] 阿部和广 / 陶 旭 / 人民邮电出版社 / 2014-11 / 59.00元

Scratch 是麻省理工学院设计开发的一款编程工具,是适合少儿学习编程和交流的工具和平台,有中文版且完全免费。本书结合孩子们学习的语文、数学、科学、社会、音乐、体育等科目,手把手地教大家如何用Scratch 设计程序(如设计一个自动写作文的程序),配合各式卡通形象,通俗易懂,寓教于乐。麻省理工学院教授米切尔•瑞斯尼克作序推荐。 本书图文并茂,生动风趣,适合中小学生等初学者自学或在家长的帮助......一起来看看 《Scratch少儿趣味编程》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

MD5 加密
MD5 加密

MD5 加密工具