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


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

查看所有标签

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

移动交互设计精髓

移动交互设计精髓

班格 (Cameron Banga)、温霍尔德 (Josh Weinhold) / 傅小贞、张颖鋆 / 电子工业出版社 / 2015-4-1 / CNY 89.00

越来越多的人正涌入移动应用领域,而设计和体验将是移动应用成败的关键。作者通过上百款应用的设计实践,系统化地梳理了移动应用的设计方法论,在理解用户、跨平台和适配设计、移动组件应用、界面视觉感染力、简约设计等方面都进行了深入阐述。此外,作者还介绍了一些非常实用的移动设计工具,分享了设计师该如何与开发工程师协同工作,以及如何收集用户反馈、甄别版本迭代的更新需求等。 《移动交互设计精髓——设计完美的......一起来看看 《移动交互设计精髓》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器