大家在瀏覽網(wǎng)頁的時候惧眠,有時會遇到這種情況籽懦。當(dāng)你的手機中有某一個APP的時候,恰巧你打開的網(wǎng)頁是該APP官網(wǎng)的某個頁面锉试,這時瀏覽器會提示你猫十,“在‘xxx’中打開览濒?”這幾個字樣,點擊“打開”后拖云,系統(tǒng)就會自動打開APP贷笛,并且跳轉(zhuǎn)到對應(yīng)頁面。這個和點擊推送打開APP并且跳轉(zhuǎn)的功能很類似宙项。那么乏苦,我們需要怎么配置才合理呢?
首先我們需要在APP內(nèi)部設(shè)定一個URL Schemes尤筐。你可以把它理解為APP在網(wǎng)頁端的文本傳輸協(xié)議汇荐,比如:http。在網(wǎng)頁端盆繁,當(dāng)調(diào)用一個網(wǎng)址時掀淘,iOS系統(tǒng)會自動檢測該網(wǎng)址是否是一個APP注冊的URL Schemes,如果是油昂,就會提示打開該APP革娄。聽起來很抽象對吧,哈哈哈冕碟,先看圖:
這樣我就生成了一個URL Schemes:test-deepLinking拦惋。所以,調(diào)用“test-deepLinking://”時安寺,瀏覽器就會提示你厕妖,“在‘你的APP名’中打開?”挑庶。so easy有木有言秸。
當(dāng)然了,此時的效果僅僅限于能幫你在瀏覽器打開APP而已挠羔,接下來就是跳轉(zhuǎn)了井仰。
在AppDelegate中,有這樣的一個方法
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
return YES;
}
當(dāng)用戶用過URL Schemes打開APP時破加,就會調(diào)用這個方法俱恶。并且將對應(yīng)的網(wǎng)址URL通過方法對應(yīng)的參數(shù)“url”傳遞給你。這個時候范舀,你就可以將傳過來的url進行處理并且跳轉(zhuǎn)了合是。比如:輸入了一個網(wǎng)址test-deeplinking://test/product/123,這時候我在APP中就能取到product/123,然后知道了需要跳轉(zhuǎn)到Product頁面锭环,id是123聪全。(這里面的規(guī)則各不相同,可以根據(jù)各個公司需求而定)如下:
很簡單吧辅辩,接下來只要和公司做好規(guī)則难礼,然后就可以輕松的進行網(wǎng)頁和APP之間的跳轉(zhuǎn)了娃圆。當(dāng)然我需要提醒一下大家,因為Safari是蘋果公司的官方瀏覽器蛾茉,所以大家在進行測試的時候還是主要使用Safari讼呢,用別的瀏覽器可能實現(xiàn)不了跳轉(zhuǎn),這個是沒有辦法的事情(我也很無奈T_T)谦炬。
謝謝大家悦屏,因為這章基本沒有代碼,所以有不理解的隨時可以聯(lián)系我键思。