近期蘋(píng)果推出了APP內(nèi)活動(dòng)
那么啥叫APP內(nèi)活動(dòng)扫腺?
“App內(nèi)活動(dòng)”是指App內(nèi)的時(shí)效性活動(dòng)砌创,例如游戲競(jìng)賽姆打、電影首映和直播體驗(yàn)等。在iOS15中讥脐,用戶(hù)在App Store中搜索關(guān)鍵詞時(shí)遭居,可以直接查看到相關(guān)App的活動(dòng)信息啼器。
開(kāi)發(fā)者在App Store Connect中,可以單獨(dú)提交活動(dòng)進(jìn)行審核俱萍,不必提交新的App版本端壳。另外要注意,開(kāi)發(fā)者最多可以同時(shí)持有10個(gè)獲批準(zhǔn)活動(dòng)枪蘑,而在App Store上一次最多可以發(fā)布5個(gè)活動(dòng)损谦。由于數(shù)量有限,開(kāi)發(fā)者要確保每個(gè)App內(nèi)活動(dòng)的定義清晰岳颇,并考慮有哪些候選內(nèi)容或活動(dòng)適合包含在內(nèi)照捡,以及什么樣的App內(nèi)活動(dòng)才能得到關(guān)注。
部分內(nèi)容摘自此片華文更多關(guān)于APP內(nèi)部活動(dòng)
接下來(lái)就開(kāi)始干吧话侧,show Me code
1.首先在Xcode項(xiàng)目Target->Sigining&Capabilities里面新增Associated Domains
注意Domains 必須以applinks:開(kāi)頭麻敌,后面內(nèi)容是你的域名
此時(shí)你的項(xiàng)目文件里會(huì)多出一個(gè)以你項(xiàng)目名稱(chēng)為名的Entitlements File
如何生成通用鏈接呢
a.創(chuàng)建一個(gè) apple-app-site-association json文件,而且名字都不能變掂摔,必須是這個(gè),格式如下赢赊。
{
"applinks": {
"apps": [],
"details": [
{
"appID": "TeamID.BundleID",
"paths": [ "/xxxapp/*" ]
},
]
}
}
注意AppID為T(mén)eamID.BundleID 乙漓,必須要有小數(shù)點(diǎn)
b.上傳到服務(wù)器根目錄
或者.well-known
子目錄。打開(kāi)域名(或者子目錄)+apple-app-site-association
可以下載上傳的json文件释移,特別注意的是叭披,這個(gè)文件不能帶后綴
這塊就交給后臺(tái)大哥操作了,后期他會(huì)給你返回一個(gè)https的域名
,我們就將新域名填寫(xiě)在Associated Domains里面即applinks:新域名
接下來(lái)就是點(diǎn)擊通用鏈接跳轉(zhuǎn)到APP內(nèi)部了
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玩讳,如果是則進(jìn)行具體頁(yè)面跳轉(zhuǎn) }else{
[[UIApplication sharedApplication]openURL:webpageURL];
}
}
return YES;
}
至此我們的APP內(nèi)活動(dòng)以及通用鏈接配置就OK了涩蜘,自己嘗試體會(huì)吧