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

       













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


  

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值