iOS 微信打开第三方应用(微信跳转第三方app)(Universal Links)
2017-06-30 16:25
861 查看
iOS应用可以使用 URL Schemes 进行应用间的跳转或实现网页打开应用的功能,这种跳转是协议跳转。
要应用间能跳转就要遵循URL Schemes协议。
要网页跳转应用网页就要遵循URL Schemes协议。
所以这就出现了微信或QQ等知名应用不能打开第三方应用的问题,不能打开是因为微信和QQ使用的是自己研发的QQ浏览器,他不遵循URL Schemes这个协议。
实例演示:(下载
卡惠应用 查看效果):注: kahui.huankaun.com 就是你服务器的域名
1,问题具备的场景
(1)第三方应用集成了友盟分享到QQ和微信的功能
(2)第三方应用分享了一个web页面到微信或QQ
(3)打开分享的web页面,点击上面的某一个按钮
(4)如果用户安装了该应用,直接打开应用根据web地址中的参数跳转到对应的页面
(5)如果用户没有安装应用,直接跳转到appStore
2,实用的技术:iOS9 之后提供的 Universal Links 功能
3,实现步骤
(1)创建一个json文件,名称必须为 apple-app-site-association,⚠️该文件不可带 .json 的后缀名
apple-app-site-association 文件必须放在https服务器的根目录下,例:https://kahui.huankaun.com 这个路径下 ⚠️一定是根目录,也就是说该文件必须是一级目录,供下载使用
apple-app-site-association 文件格式:如代码 1
teamID:打开苹果官网,点击Account,点击左边栏的 Membership,查找teamID 如图 1
paths:定义的web页面的地址,*表示 kahui.huankaun.com 这个路径下的任何子路径,也可以指定固定跳转的页面例:/index.php
(2)确保使用 https://kahui.huankaun.com/apple-app-site-association 这个链接可以在 苹果的验证网站 访问得到,正确的访问结果为 如图2
(3)进入开发者网站,找到你自己的bundleId,可以点击edit按钮,开启associate
domains,并创建相应的provisioning Profiles,如图 3
(4)在项目的Capablities中开启Associated domains,添加
applinks:kahui.huankaun.com,如图
4
(5)在appdelegate中实现上面这个方法,当使用Universal Links唤醒app时就执行这个方法:如代码
2
(6)快捷验证,在备忘录中输入https://kahui.huankaun.com/...,常按这个链接,出现使用第三方应用打开表示已经成功,如图
5
(7)当没有安装该应用时的处理方式是:上传该html文件到
kahui.huankaun.com 路径下,如代码 3
要应用间能跳转就要遵循URL Schemes协议。
要网页跳转应用网页就要遵循URL Schemes协议。
所以这就出现了微信或QQ等知名应用不能打开第三方应用的问题,不能打开是因为微信和QQ使用的是自己研发的QQ浏览器,他不遵循URL Schemes这个协议。
实例演示:(下载
卡惠应用 查看效果):注: kahui.huankaun.com 就是你服务器的域名
1,问题具备的场景
(1)第三方应用集成了友盟分享到QQ和微信的功能
(2)第三方应用分享了一个web页面到微信或QQ
(3)打开分享的web页面,点击上面的某一个按钮
(4)如果用户安装了该应用,直接打开应用根据web地址中的参数跳转到对应的页面
(5)如果用户没有安装应用,直接跳转到appStore
2,实用的技术:iOS9 之后提供的 Universal Links 功能
3,实现步骤
(1)创建一个json文件,名称必须为 apple-app-site-association,⚠️该文件不可带 .json 的后缀名
apple-app-site-association 文件必须放在https服务器的根目录下,例:https://kahui.huankaun.com 这个路径下 ⚠️一定是根目录,也就是说该文件必须是一级目录,供下载使用
apple-app-site-association 文件格式:如代码 1
teamID:打开苹果官网,点击Account,点击左边栏的 Membership,查找teamID 如图 1
paths:定义的web页面的地址,*表示 kahui.huankaun.com 这个路径下的任何子路径,也可以指定固定跳转的页面例:/index.php
(2)确保使用 https://kahui.huankaun.com/apple-app-site-association 这个链接可以在 苹果的验证网站 访问得到,正确的访问结果为 如图2
(3)进入开发者网站,找到你自己的bundleId,可以点击edit按钮,开启associate
domains,并创建相应的provisioning Profiles,如图 3
(4)在项目的Capablities中开启Associated domains,添加
applinks:kahui.huankaun.com,如图
4
(5)在appdelegate中实现上面这个方法,当使用Universal Links唤醒app时就执行这个方法:如代码
2
(6)快捷验证,在备忘录中输入https://kahui.huankaun.com/...,常按这个链接,出现使用第三方应用打开表示已经成功,如图
5
(7)当没有安装该应用时的处理方式是:上传该html文件到
kahui.huankaun.com 路径下,如代码 3
代码1 { "applinks": { "apps": [], "details": [ { "appID": "teamID.bundleId", "paths": ["*"] } ] } }
代码2 - (BOOL)application:(nonnull UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray * __nullable))restorationHandler{}
代码3 <!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Expires" content="0" /> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> <title>上新-跳转中...</title> </head> <body> <script type="text/javascript"> setTimeout(function(){ window.location = "第三方在应用宝的下载链接" },3000) </script> </body> </html>
相关文章推荐
- iOS 10 Universal Links(通用连接),从微信网页连接跳转到公司APP之官方指南翻译
- 封装的导航工具类,两行代码搞定iOS App内部跳转第三方应用(百度、高德、苹果)地图导航
- iOS开发-从app跳转到第三方应用和调用系统功能
- 最全经典总结: ios跳转到第三方应用,APP互相跳转传值
- IOS实现应用内打开第三方地图app进行导航
- iOS通过链接,应用内打开APP或者跳转APPStore对应下载
- iOS应用中检测第三方app是否安装及跳转解决方案
- iOS开发 - iOS实现应用内打开第三方地图app进行导航
- iOS应用中检测第三方app是否安装及跳转解决方案
- IOS实现应用内打开第三方地图app进行导航
- iOS应用程序开发之应用间的跳转(用着微信等第三方分享登陆)
- ios app分享的url在微信中打开app分析
- iOS App让自己的应用在其他应用中打开列表中显示
- ios 使用Safari浏览器跳转打开、唤醒app
- iOS开发 - 应用内打开第三方应用并传值
- ios 应用中直接跳转到指定app页面 或者 app 评价页面 的方法
- iOS开发 - 应用内打开第三方应用并传值