优化后的标题:iOS 9及以后版本支持微信APP直接打开功能

更新:11-08 名人轶事 我要投稿 纠错 投诉

大家好,今天来为大家解答优化后的标题:iOS 9及以后版本支持微信APP直接打开功能这个问题的一些问题点,包括也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

iOS 通用链接(Universal Links)

介绍

什么是通用链接(Universal Links)?这是iOS9推出的功能。如果你的应用支持Universal Links(通用链接),你可以通过传统的HTTP链接轻松启动APP(如果iOS设备上已经安装了)(不需要做任何额外的判断等),或者打开网页(您的应用程序未安装在iOS 设备上)。也许可以更简单地解释。 iOS9之前,对于各种从属浏览器,Safari,要唤醒UIWebView或WKWebView中的APP,我们通常只能使用scheme。首先在app中注册一个scheme,例如

在网页中,

打开APP,打开拨号器,打开系统的短信应用

不过这种方法有一个缺点,就是需要提前判断系统中是否安装了可以响应该方案的App。这个判断网上已经做了很多次了,比如从浏览器或者Webview中唤醒APP,就像文章中介绍的那样。很多网页的判断都存在问题。经常出现空白页,无法跳转。更可悲的是,这种通过方案打开其他App的方法在微信中被禁用了。这意味着我们的应用程序无法从微信应用程序打开。

通用链接(Universal Links) : 常见的http链接,例如https://yohunl.com/openApp。当您支持通用链接并且您的应用程序已安装在系统中时,用户单击链接并直接进入您的应用程序。无论你是在微信还是其他地方!当你还没有安装的时候,你可以去你指定的页面(可以直接显示你原来的H5页面,或者跳转到下载页面等)。换句话说,用户不需要知道你是否安装了该应用程序。如果安装了,这个链接可以进入应用程序(进入你的应用程序后,可以在本地原生页面上向用户显示信息)。如果没有安装,可以直接进入应用程序。进入原来的h5页面对于用户来说是一个无缝的过程,非常流畅!

官方文档

通用链接的优点

唯一性: 不像自定义方案,因为它使用标准http/https 链接到您的网站,因此不会被其他应用程序声明。另外,自定义URL方案是自定义协议,因此不安装应用程序无法直接打开,并且通用链接本身是HTTP/HTTPS链接,因此具有更好的兼容性安全: 当您的应用程序安装在用户的手机上,iOS会去你的网站下载你上传的描述文件(这个描述文件声明了你的应用程序可以打开什么类型的http链接)。因为只有您可以将文件上传到您网站的根目录,因此您的网站和您的应用程序之间的关联是安全的。可变: 当用户的手机上没有安装您的应用程序时,通用链接也可以使用。如果您愿意,当用户在未安装您的应用程序时单击该链接时,该链接将显示在用户的手机上。在Safari 中显示您网站的内容。简单: URL 链接可以作用于网站和应用程序。私有其他应用程序可以在不知道您的应用程序是否安装的情况下与您的应用程序通信。如何?支持Universal Links(通用链接)

先决条件:

你必须有一个域名,并且这个域名的网站需要支持https,然后有上传网站到根目录的权限(这个权限是上传苹果指定的文件)

支持Universal Links(通用链接)

创建一个名为apple-app-site-association.json 格式的文件。注意,这个文件是必须没有后缀名,文件名必须是apple-app-site-association!{ "applinks": { "apps":[], "details": [ { "appID": "9JA89QQLNQ.com.apple. wwdc", "路径": [ "/wwdc/news/", "/videos/wwdc/2015/"] }, { "appID": "ABCD1234.com .apple.wwdc", "路径": [ "" ] } ] }}

描述:appID: 这里的组成是teamId.yourapp 的包标识符。例如上面的9JA89QQLNQ和ABCD1234都是teamId。这个值从哪里来?它来自您的开发者帐户的个人中心。登录您的开发者中心。[](https://www.evernote.com/shard/s488/nl/93731301/a10a6777-88b2-4655-ad51-a9687a408e54//res/f2adae7c-2893-4da6-8b0c-e3e23147b791.png?resizeSmallwidth=832)

com.apple.wwdc 是你的方法是teamId.yourapp 的,在你的xcode 项目中! [(https://www.evernote.com/shard/s488/nl/93731301/a10a67777777-88b2-4655-ad51-a9687a408e5454//res/res/res/res/62f62f62f4b4-9832eizes

paths: 根据paths 键设置应用程序支持的路径列表。应用程序只能处理指向这些指定路径的链接。例如,如果您的网站是www.yohunl.com,则为:

,你的路径写成“/support/”,那么当用户点击www.yohunl.com/support/myDocument时

,您可以进入您的应用程序,但www.yohunl.com/other 则不能。路径区分大小写! ** 表示任意路径。

将文件apple-app-site-association上传到你域名对应的网站根目录下(其实不一定是根目录,比如鬼博客网站,就没有根目录,需要放在(在相应的主题目录中),此步骤是为了让Apple 可以从https:///apple-app-site-associationx 检索您的域名

h 获取您上传的apple-app-site-association 文件。上传后,先自己访问看看能否获取。以我的为例,https://yohunl.com/apple-app-site-association。单击此链接时,您应该下载apple-app-site-association 文件。验证文件是否合法。为了方便开发者,Apple提供了一个网页来验证我们编写的apple-app-site-association是否合法有效。验证网址并输入网站进行验证! [](https://www.evernote.com/shard/s488/nl/93731301/a10a6777-88b2-4655-ad51-a9687a408e54//res/08f2eb57-f647-45a5-bbfe-fdeabb51edd9.png?resizeSmallwidth=832)

要在xcode项目中进行一些配置,第一步是在项目配置中打开Associated Domains![](https://www.evernote.com/shard/s488/nl/93731301/a10a6777-88b2-4655-ad51-a9687a408e54//res/729b1506-c2e0-4d4e-969d-e0fdb1097017.jpg?resizeSmallwidth=832)

在Domains中填写你想要支持的域名(这个不是随便填的,是可以支持你需要的Universal Links的域名)。它必须以applinks:为前缀。例如我的填写的是

applinks:yohunl.comapplinks:www.yohunl.com

Apple 将在适当的时候从此处输入的域名请求文件apple-app-site-association。

Note: 当您打开关联域时,xcode 会将.entitlements 文件添加到您的项目中![](https://www.evernote.com/shard/s488/nl/93731301/a10a6777-88b2-4655-ad51-a9687a408e54//res /76d3943a- 5668-4afe-a329-2f37bf8b1fb0.jpg?resizeSmallwidth=832)

而如果你登录开发者中心,你可以看到![](https://www.evernote.com/shard/s488/nl/93731301/a10a6777-88b2-4655-ad51-a9687a408e54//res/3de577ad-e35a-4c6c- 949d-15ee4a0abb31.jpg?resizeSmallwidth=832)

,这些将帮助您解决问题。

此时,您的应用程序已经可以支持通用链接了!那么如何测试呢?

测试Universal Links(通用链接)是否有效

在iOS设备中的备忘录中添加记事本或在短信中输入应用程序可以识别的链接,然后直接点击该链接即可直接跳转到您的应用程序。或者按住,然后在出现的弹出菜单中选择第二个项目。是“Open in "XXX"”,也代表成功。[](https://www.evernote.com/shard/s488/nl/93731301/a10a6777-88b2-4655-ad51-a9687a408e54//res/3f7ad877-bc6a-4b09-aa56-9e948bee2335.png?resizeSmallwidth=832)

或者你可以把你要测试的网址放到Safari中的一个网页中,然后点击链接,在出现的网页上方向下滚动,就可以看到是在“XX”应用程序中打开的(很多教程都说,直接点击在Safari中,会跳转到应用程序,但经过我的实际验证,这是不可能的,也许苹果已经调整了策略。再次)![](https://www.evernote.com/shard/s488/nl/93731301/a10a6777-88b2- 4655-ad51-a9687a408e54//res/ce7eeb22-4505-4eb0-8b1e-e9dfa641268c.png?resizeSmallwidth=832)

在微信的网络浏览器中也可以。虽然微信屏蔽了所有自定义方案跳转到其他应用程序,但Universal Links(通用链接)因为是普通的http链接,所以是由系统直接处理的,微信会屏蔽它们。不,这还可以让您从微信跳转到我们的应用程序!

为项目添加处理方法

现在用户点击一个链接就可以直接进入我们的应用程序。然而,这不是我们的最终目标。我们的目标是获取用户进来的链接,并根据链接进行处理,将信息展示给用户。

在项目中实现AppDelegate中的方法

(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivityrestorationHandler:(void (^)(NSArray *))restorationHandler{ if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) { NSURL *webpageURL=userActivity.webpageURL NSString; *主机=网页URL.主机; if ([host isEqualToString:@"yohunl.com"]) { //执行我们需要的处理} else { [[UIApplication sharedApplication]openURL:webpageURL]; } } return YES;}当userActivity是NSUserActivityTypeBrowsingWeb类型时,就意味着它是从Universal Links进来的,我们可以添加自己的处理逻辑!

后记

如果它不起作用,请在http://stackoverflow.com/questions/32751225/ios9-universal-links-does-not-work 上讨论各种可能的问题。你可以参考一下。

参考

iOS 9学习系列:在iOS 9中打通Universal Links 苹果官方Universal Links iOS9 Universal Links File列表老外列出了目前支持Universal Links的51个app及其apple-app-site-association文件检查是否支持Universal的苹果网站URL链接

2、实施步骤

由于我的服务器暂时不支持SSL认证,所以我使用七牛配置了一个https域名地址进行访问。

测试后一切OK

3. 参考链接

https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/Handoff/AdoptingHandoff/AdoptingHandoff.html

http://stackoverflow.com/questions/32751225/ios9-universal-links-does-not-work

https://www.evernote.com/shard/s488/nl/93731301/a10a6777-88b2-4655-ad51-a968 7a408e54/?csrfBusterToken=U%3D59639e5%3AP%3D%2F%3AE%3D1571c31add6%3AS%3D16 89b65e32bcb5546d80d7b03a34877c

http://stackoverflow.com/questions/32843198/sign-apple-app-site-association

关于优化后的标题:iOS 9及以后版本支持微信APP直接打开功能和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

用户评论

ー半忧伤

终于不用频繁点开App了!

    有15位网友表示赞同!

陌颜幽梦

这个功能早就应该有了,效率大大提高了。

    有7位网友表示赞同!

走过海棠暮

以前打开微信链接还得先找到对应App真烦躁,现在太方便了!

    有17位网友表示赞同!

南初

这下下载各种iOS App就能直接跳转到相应的功能页面了吧?

    有8位网友表示赞同!

聽風

这种无缝连接体验真的要比之前好太多了。

    有8位网友表示赞同!

喜欢梅西

这下扫码也能直接打开App了是吗?

    有16位网友表示赞同!

江山策

感觉未来我们会越来越习惯这种快捷的链接方式。

    有19位网友表示赞同!

拥菢过后只剰凄凉

对于经常关注资讯的手机用户来说,这个功能简直就是福音!

    有18位网友表示赞同!

仅有的余温

支持iOS9?我好像还停留在iOS8…

    有11位网友表示赞同!

拽年很骚

这么方便的功能更新了我都不知道,什么时候可以查看系统更新日志呢?

    有19位网友表示赞同!

断秋风

希望其他App也能像微信一样实现这种打开方式。

    有12位网友表示赞同!

苏莫晨

这个功能会不会导致用户使用习惯更加多样化?

    有17位网友表示赞同!

那伤。眞美

感觉iOS9之后的东西都越来越好用了!

    有13位网友表示赞同!

早不爱了

期待Universal Links的应用范围越来越广阔!

    有7位网友表示赞同!

限量版女汉子

不知道Android系统也支持类似的功能吗?

    有8位网友表示赞同!

剑已封鞘

看来我的手机也要升级iOS9了!

    有10位网友表示赞同!

♂你那刺眼的温柔

这个功能会提升App的使用效率,用户体验也会更好。

    有7位网友表示赞同!

漫长の人生

苹果还是挺注重用户体验的, 这次更新不错啊!

    有5位网友表示赞同!

糖果控

这种衔接流畅的操作越来越受欢迎了吗?

    有5位网友表示赞同!

青衫故人

感觉科技发展真是日新月异!这功能让我眼前一亮。

    有20位网友表示赞同!

【优化后的标题:iOS 9及以后版本支持微信APP直接打开功能】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活

上一篇:《梁山好汉征方腊前夕:公孙胜为何离别宋江?罗真人提前透露关键线索》 下一篇:探索未知领域:在这里发现无限可能