iOS universallinks喚醒a(bǔ)pp

從iOS9之后,蘋果就推出了這個(gè)功能,用來喚醒外部app。這個(gè)功能在那些電商app上使用尤其廣泛,當(dāng)你打開對(duì)應(yīng)的h5網(wǎng)頁后,上面跳出一個(gè)是否跳轉(zhuǎn)app的按鈕。

現(xiàn)在iOS11已經(jīng)基本覆蓋,iOS12也馬上就要發(fā)布了,這算是一個(gè)很成熟的服務(wù)了,所以對(duì)接一下,也十分必要。

在這個(gè)功能推出之前,iOS這邊基本都用url scheme做app間的通信,這個(gè)功能在企鵝系應(yīng)用中直接被屏蔽,在其他應(yīng)用中使用的也不少。但是,這個(gè)會(huì)產(chǎn)生很多問題,應(yīng)為url scheme不唯一,用戶可以隨便自定義這個(gè)url scheme。之前單位做應(yīng)用的時(shí)候變碰到過這個(gè)問題,裝了另外一個(gè)app之后,用urlscheme喚醒我的app的時(shí)候,喚醒了別的app,這個(gè)便是由于url scheme沖突造成的問題。unviersal links 由于域名的唯一性,便不會(huì)產(chǎn)生這個(gè)問題。

下面我們來說一下具體對(duì)接過程

1.在xcode中開啟Associated Domians服務(wù)

路徑:Target->Capbilities->Associated Domians

之前看有人說,需要先在開發(fā)者賬號(hào)中開啟這個(gè)服務(wù),實(shí)際上你只要在工程中打開這個(gè)服務(wù),然后build一下,開發(fā)者那邊自動(dòng)會(huì)開啟這個(gè)服務(wù)。

image

在domains里面添加你需要的鏈接。

a.必須以applinks作為開頭

b.該鏈接的服務(wù)器必須支持ssl

2.填寫apple-app-site-association文件

這是一個(gè)json格式的文件,但是文件名不能有后綴

image

在這個(gè)文件里 可以配置多個(gè)appID,appID的格式為你該工程所在的team的teamID+你的工程ID-->>T1212JGF.com.xxx.xxx

具體的可以在開發(fā)者賬號(hào)的Account -> Membership -> Team ID 查看

paths里面可以配置所有你需要響應(yīng)的鏈接。

比如你在applinks里配置了www.baidu.com,你現(xiàn)在需要打開www.baidu.com就能喚醒a(bǔ)pp,那你可以直接寫''/*".

你需要在某幾個(gè)特定的鏈接下喚醒a(bǔ)pp,那就在paths里面填寫你那特定的鏈接。paths里面可以填寫多個(gè)鏈接

3. 把a(bǔ)pple-app-site-association文件傳到applinks的根目錄下。

比如你applinks為www.baidu.com。那就將后臺(tái)把這個(gè)文件傳到這個(gè)目錄下。當(dāng)你訪問www.baidu.com/apple-app-site-association這個(gè)鏈接的時(shí)候,能成功的下載這個(gè)文件,那就說明成功了。

4.工程中配置

在工程APPdelegate中添加對(duì)于該服務(wù)的響應(yīng)代碼,這里可以對(duì)該鏈接是否跳轉(zhuǎn)進(jìn)行控制。

復(fù)制代碼

<pre style="margin: 0px; padding: 0px; overflow: auto; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray * _Nullable))restorationHandler{ if([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]){
NSURL *url = userActivity.webpageURL;
} return YES;
}</pre>

復(fù)制代碼

5. 測(cè)試

在safari中打開對(duì)應(yīng)的鏈接

image

當(dāng)你打開鏈接,然后下拉,出現(xiàn)該多出的頁面,那么恭喜你,你成功了。點(diǎn)擊打開按鈕,你就能跳轉(zhuǎn)到你需要的頁面了。

原作者:https://www.cnblogs.com/muzhou/p/9223690.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容