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


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

查看所有标签

猜你喜欢:

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

个体与交互

个体与交互

Ken Howard、Barry Rogers / 贾永娜、张凯峰 / 机械工业出版社华章公司 / 2012-3-20 / 45.00元

对敏捷软件开发的关注重点,通常都集中在“机制”方面,即过程和工具。“敏捷宣言”认为,个体与交互的价值要高于过程和工具,但这一点很容易被遗忘。在敏捷开发中,如果你重新将注意力放在人的方面,将会收获巨大利益。 本书展示了如何解决敏捷团队在实际项目中遭遇的问题。同时,本书也是很有实用价值的敏捷用户指南,其中包含的故事、最佳实践方法、经验以及技巧均可应用到实际项目当中。通过逐步实践,你将学会如何让团......一起来看看 《个体与交互》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具