内容简介:大家在浏览网页的时候,有时会遇到这种情况。当你的手机中有某一个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。听起来很抽象对吧,哈哈哈,先看图:
这样我就生成了一个URL Schemes:test-deepLinking。所以,调用“test-deepLinking://”时,浏览器就会提示你,“在‘你的APP名’中打开?”。so easy有木有。
当然了,此时的效果仅仅限于能帮你在浏览器打开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。(这里面的规则各不相同,可以根据各个公司需求而定)如下:
很简单吧,接下来只要和公司做好规则,然后就可以轻松的进行网页和APP之间的跳转了。当然我需要提醒一下大家,因为Safari是苹果公司的官方浏览器,所以大家在进行测试的时候还是主要使用Safari,用别的浏览器可能实现不了跳转,这个是没有办法的事情(我也很无奈T_T)。
谢谢大家,因为这章基本没有代码,所以有不理解的随时可以联系我。
作者:枫developer
链接:https://www.jianshu.com/p/8e7a9eb49358
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- FreeMarker对应各种数据结构解析
- Vue和MVVM的对应关系
- nhibernate一表对应多个实体类问题
- 调试V8中JS对应的汇编代码
- 二分查找及对应的几道经典题目
- 二分查找及对应的几道经典题目
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Game Programming Patterns
Robert Nystrom / Genever Benning / 2014-11-2 / USD 39.95
The biggest challenge facing many game programmers is completing their game. Most game projects fizzle out, overwhelmed by the complexity of their own code. Game Programming Patterns tackles that exac......一起来看看 《Game Programming Patterns》 这本书的介绍吧!