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

【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中看到,用户可以直接点击活动进行下载或者内容更新,这样一来既增加了老用户的活跃度,也会一定程度增加一些新的用户,所以还是值得更新一个版本。

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

操作步骤
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,重新导出证书即可。如下图所示
【App Store深度链接】【IOS-Universal-Links】给App添加App Store深度链接,方便APP的更新内容及时在App Store中显示并提示用户更新_第2张图片

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选项,如下图:
【App Store深度链接】【IOS-Universal-Links】给App添加App Store深度链接,方便APP的更新内容及时在App Store中显示并提示用户更新_第3张图片
格式必须是: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深度链接的相关内容。

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

你可能感兴趣的:(Xcode,ios杂谈,cocos2dx,ios,游戏开发,游戏,xcode,cocos2d)