iOS 網頁打開APP,並且跳轉到對應界面


大家在瀏覽網頁的時候,有時會遇到這種情況。當你的手機中有某一個APP的時候,恰巧你打開的網頁是該APP官網的某個頁面,這時瀏覽器會提示你,“在‘xxx’中打開?”這幾個字樣,點擊“打開”后,系統就會自動打開APP,並且跳轉到對應頁面。這個和點擊推送打開APP並且跳轉的功能很類似。那么,我們需要怎么配置才合理呢?

首先我們需要在APP內部設定一個URL Schemes。你可以把它理解為APP在網頁端的文本傳輸協議,比如:http。在網頁端,當調用一個網址時,iOS系統會自動檢測該網址是否是一個APP注冊的URL Schemes,如果是,就會提示打開該APP。聽起來很抽象對吧,哈哈哈,先看圖:

 

URL Schemes.jpg

這樣我就生成了一個URL Schemes:test-deepLinking。所以,調用“test-deepLinking://”時,瀏覽器就會提示你,“在‘你的APP名’中打開?”。so easy有木有。

 

1.jpeg

 

2.jpeg

當然了,此時的效果僅僅限於能幫你在瀏覽器打開APP而已,接下來就是跳轉了。

在AppDelegate中,有這樣的一個方法

-(BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id>*)options{returnYES;}

當用戶用過URL Schemes打開APP時,就會調用這個方法。並且將對應的網址URL通過方法對應的參數“url”傳遞給你。這個時候,你就可以將傳過來的url進行處理並且跳轉了。比如:輸入了一個網址test-deeplinking://test/product/123,這時候我在APP中就能取到product/123,然后知道了需要跳轉到Product頁面,id是123。(這里面的規則各不相同,可以根據各個公司需求而定)如下:

 

3.jpeg

 

4.jpeg

很簡單吧,接下來只要和公司做好規則,然后就可以輕松的進行網頁和APP之間的跳轉了。當然我需要提醒一下大家,因為Safari是蘋果公司的官方瀏覽器,所以大家在進行測試的時候還是主要使用Safari,用別的瀏覽器可能實現不了跳轉,這個是沒有辦法的事情(我也很無奈T_T)。

轉載:https://www.jianshu.com/p/8e7a9eb49358


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM