【App Store深度链接】【IOS-Universal-Links】给App添加App Store深度链接,方便APP的更新内容及时在App Store中显示并提示用户更新

34 篇文章 0 订阅
2 篇文章 0 订阅

【App Store深度链接】【IOS-Universal-Links】给App添加App Store深度链接,方便APP的更新内容及时在App Store中显示并提示用户更新

设备/引擎:Mac(11.6)/Mac Mini

开发工具:Xcode(15.0.1)

开发需求:给App添加App Store深度链接,方便APP的更新内容及时在App Store中显示并提示用户更新

最近新项目刚刚结束,我们就腾出手来研究了一下【App Store深度链接Universal-Links】,因为看同行较好的都已经有这个功能了,所以就抓紧研究解决一下。

【App Store深度链接Universal-Links】简单说就是每次更新版本时,你可以在开发者后台左侧边栏找到App内活动(如下图),在这里添加版本更新的亮点,这样新老用户都可以在App Store中看到,用户可以直接点击活动进行下载或者内容更新,这样一来既增加了老用户的活跃度,也会一定程度增加一些新的用户,所以还是值得更新一个版本。

在这里插入图片描述

操作步骤
1.在账号后台找到之前的APP证书,在证书中添加Associated Domains选项,重新导出证书
2.电脑上写一个JSON文件
3.将写好的JSON文件上传到自己APP官网的服务器上,获取相应链接
4.在Xcode中target下找到 Signing & Capabilities ,增加associated domains选项
5.在代码中添加回调函数,用来相应服务器后台的链接通知

第一步:APP证书修改+编写JSON文件
前两步可以并行操作,因为JSON文件需要用到证书中的Team ID和Bundle ID,所以修改证书的时候可以同时记下ID。
1.在开发者后台找到对应APP的证书,在Capabilities中勾选Associated Domains,完成后点击save,重新导出证书即可。如下图所示
在这里插入图片描述

2.证书及文件都需要重新导一下,导出之后就可以写JSON文件了,内容如下

{
    "applinks":{
        "apps":[],
        "details":[{
            "appID":"TeamID.Bundle ID",
            "paths":["*"]
        }]
    }
}

注:文件名字必须是【apple-app-site-association】,不能带json后缀名,绝对不能带,不要加任何多余的东西,包括注释啥的,就完全按上面写就行
将证书中对应的ID写到代码中的TeamID.Bundle ID对应位置上,至此这个JSON就可以了。

第二步:将JSON文件上传到官网后台,并获取对应的链接
关于官网域名:添加这个功能前提你需要有一个自己APP账户的域名,而且必须是受信任的,也就是有证书的域名。
我们项目有自己的域名,但是,我们没注意域名并没有买证书,所以导致第一次操作之后链接有问题无法打开,所以我们就先解决域名的问题,我们的官网是在GoDaddy上买的,只需要在上面买一个证书即可,这样就可以保证域名是受信任的,也就可以继续后面的操作,我们是将JSON文件在GoDaddy上上传到.well-known目录中,获取到链接https://你的APP官网/.well-known/apple-app-site-association,验证没有问题就可以接着往后操作了。
如果你们有专门负责后端的同事,你就可以告诉他你需要让他帮你把JSON文件放到服务器的根目录下或者放到.well-known目录下,然后确保后端给你的文件链接是:https: //你的APP官网/apple-app-site-association或者https://你的APP官网/.well-known/apple-app-site-association,自己在浏览器上试试链接是否能打开,电脑端打开应该就只能看见JSON代码内容。

第三步:在Xcode中进行设置
前两步完成之后,就可以在Xcode中进行相应设置了,也比较简单,在Xcode中target下找到 Signing & Capabilities ,增加associated domains选项,如下图:
在这里插入图片描述
格式必须是:applinks:你的域名。

第四步:在工程代码中添加回调函数
我们是在工程AppController中添加回调函数,如下

-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler{
    if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
        
        NSURL* universalUrl = userActivity.webpageURL;
        
        NSLog(@"%@",[universalUrl absoluteString]);
        
    }
    
    return YES;
}

直接用就可以。

完成以上所有步骤,你就可以在上传新版本时添加活动提醒,这样用户在新版本就可以看到活动内容,并且可以直接通过点击来跳转到新版本进行更新或者下载。

PS:我们做的是海外游戏,所以不需要考虑QQ微信跳转的内容,有需要的可以查一查相关内容。

以上就是关于App Store深度链接的相关内容。

希望能给大家带来帮助!!!有什么问题需要讨论的可以评论私信欢迎讨论~

  • 28
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GameTomato

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值