近期苹果推出了APP内活动
App内活动
那么啥叫APP内活动?
“App内活动”是指App内的时效性活动,例如游戏竞赛、电影首映和直播体验等。在iOS15中,用户在App Store中搜索关键词时,可以直接查看到相关App的活动信息。
开发者在App Store Connect中,可以单独提交活动进行审核,不必提交新的App版本。另外要注意,开发者最多可以同时持有10个获批准活动,而在App Store上一次最多可以发布5个活动。由于数量有限,开发者要确保每个App内活动的定义清晰,并考虑有哪些候选内容或活动适合包含在内,以及什么样的App内活动才能得到关注。
部分内容摘自此片华文更多关于APP内部活动
接下来就开始干吧,show Me code
1.首先在Xcode项目Target->Sigining&Capabilities里面新增Associated Domains
Associated Domains
注意Domains 必须以applinks:开头,后面内容是你的域名
此时你的项目文件里会多出一个以你项目名称为名的Entitlements File
Entitlements File
如何生成通用链接呢
a.创建一个 apple-app-site-association json文件,而且名字都不能变,必须是这个,格式如下。
{
"applinks": {
"apps": [],
"details": [
{
"appID": "TeamID.BundleID",
"paths": [ "/xxxapp/*" ]
},
]
}
}
注意AppID为TeamID.BundleID ,必须要有小数点
b.上传到服务器根目录
或者.well-known
子目录。打开域名(或者子目录)+apple-app-site-association
可以下载上传的json文件,特别注意的是,这个文件不能带后缀
这块就交给后台大哥操作了,后期他会给你返回一个https的域名
,我们就将新域名填写在Associated Domains里面即applinks:新域名
接下来就是点击通用链接跳转到APP内部了
Appdelegate.m里面
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
NSURL *webpageURL = userActivity.webpageURL;
NSString *host = webpageURL.host;
if ([host isEqualToString:@"××××.mingpao.com"]) {
//在这里判断我们的通用链接是否包含useractivity.webpageURL.host,如果是则进行具体页面跳转 }else{
[[UIApplication sharedApplication]openURL:webpageURL];
}
}
return YES;
}
至此我们的APP内活动以及通用链接配置就OK了,自己尝试体会吧