iOS 微信打开第三方应用(微信跳转第三方app)(Universal Links)

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

       

iOS 微信打开第三方应用(微信跳转第三方app)(Universal Links)_第1张图片



iOS 微信打开第三方应用(微信跳转第三方app)(Universal Links)_第2张图片


iOS 微信打开第三方应用(微信跳转第三方app)(Universal Links)_第3张图片


iOS 微信打开第三方应用(微信跳转第三方app)(Universal Links)_第4张图片


iOS 微信打开第三方应用(微信跳转第三方app)(Universal Links)_第5张图片



代码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



    
    
    
    
    
    
    上新-跳转中...








  

你可能感兴趣的:(iOS 微信打开第三方应用(微信跳转第三方app)(Universal Links))