色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>通訊/手機編程>

ios上關于Universal Link 前端部署的應用

大小:0.2 MB 人氣: 2017-09-25 需要積分:1

前言:

文章會適當說一些如何開發iOS上的universal link,但類似的文章太多了一艘一大堆,每篇都介紹的挺清楚,因此也不是重點

本文更加會側重從前端的角度,將整個universal link 部署應用到wap app中的一些策略和一些問題解決辦法

其實整個Universal Link沒啥難的,真正上線過Universal link的人這些應該都趟過一遍了,本文主要是我們team去應用Universal link的時候一些文檔沉淀和記錄

Schema VS Universal Link

Deeplink相關的技術,在wap中喚起app其實應用最最廣泛的并不是Universal Link,而是直接Schema跳轉

1  location.href?=? ‘ schema://xxxx’

并且一般各大APP都會給自己做一套路由體系,這樣其實可以直接在schema頭后面對接路由體系,做到一行schema定位打開任意App內功能界面(我就不詳細扯路由的事了)

1

2

3

4

5

6  -?(BOOL)application:(UIApplication?*)application?openURL:(NSURL?*)url?sourceApplication:(NSString?*)sourceApplication?annotation:(id)annotation?{

???? if ?([[url?absoluteString]?hasPrefix:@ “ schema://” ])?{

????????[[WKDispatcher?sharedInstance]?operationObjectFromRouteURL:[url?absoluteString]]; //路由

???????? return ?YES;

????}

}

如果單純為了實現deeplink -- 在WAP上打開App,并且傳遞來數據信息,定位App內的具體邏輯,那么Schema就夠了,其實沒必要上Universal Link,Schema相當于是很特殊的Url,他是schema://xxx這種樣子,如果安裝了APP才能支撐跳轉這種Schema Url,如果沒安裝APP就沒任何效果,而Universal Link則是把普通url,長http://xxx.xxx.xxx/xxx這樣的Normal Url,如果安裝了App,就能像Schema一樣傳遞給App,延續App內邏輯,如果沒裝App,則還會繼續在瀏覽器里跳轉這個Normal Url

Schema的弊端

Schema無法判斷是否安裝App

一定會有這樣的產品需求的:

如果已經安裝App,則打開App

如果沒有安裝App,則前往下載App

瀏覽器實際上是沒有能力判斷手機里是否安裝了某個App的,所以聰明的程序員們選擇了討巧的方法

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19  try ?{

???? var ?appSchema?=? ‘ schema://xxxx’ ;

???? if ?($.os.ios)?{

????????location.href?=?openNALocation;? //location.href?打開schema

????}

???? else ?{

????????$( ‘body’ ).append( ‘’ );? //iFrame?打開?schema

????}?

} catch ?(e)?{}

//延遲1000秒

setTimeout( function ?()?{

???? if ?($.os.ios)?{

????????location.href?=?`https: //itunes.apple.com/us/app/idxxxxxxx?mt=8`;

????}

???? else ?{

????????location.href?=?`https: //xxx.xxx.xxx/xxx/xxx.apk`;//直接apk下載link

????}?

},1000)

首先發起跳轉Schema

如果沒安裝App,會打開App失敗,沒效果

如果安裝App,會成功打開App

延遲1000ms

如果沒安裝App,Schema打開失敗,等1000秒后會自動跳轉

如果安裝App,App會打開,當前網頁會被暫停,這延遲代碼不會執行

聰明的人會發現,這樣有個風險,如果用戶打開APP成功后,又手動切回瀏覽器,那么延遲1000ms的代碼依然會執行,安卓會跳出下載apk包得提示,iOS會又再度跳到Appstore,但這個瑕疵也不是太大的問題,所以這種做法被普遍采用,運用在各種安裝就跳轉,不安裝就下載的用戶場景。

安卓這么用挺好,iOS有個討厭的彈框

如果用戶沒有安裝App,那么他一定會經歷2個事情

schema打開app,但是失敗

延遲后,跳轉下載App

在第一個環節,安卓上schema打開失敗,沒有任何反映,也沒有任何提示,一切順利,但是iOS就不同了。

schema會彈個可惡的跳轉失敗的框ios上關于Universal Link 前端部署的應用

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 麻豆精品一卡2卡三卡4卡免费观看 | 高清观看ZSHH96的视频素材 | 国产又粗又猛又爽又黄的免费视频 | 给我免费播放片bd国语 | 国产精品日本一区二区在线播放 | 亚洲视频中文 | 一品道门在线视频高清完整版 | 99视频在线免费观看 | 国产精品xxxav免费视频 | 国产精品久久久久久亚洲影视 | 92电影网午夜福利 | 麻1豆传媒2021精品 | 欧美精品熟妇乱 | 亚洲午夜无码久久久久蜜臀av | 精品熟女少妇AV免费观看 | 无码爽死成人777在线观看网站 | 在线播放午夜理论片 | 国产亚洲欧洲日韩在线三区 | 拔萝卜电视剧高清免费 | 99视频在线免费观看 | 亚洲精品天堂自在久久77 | 亚洲伊人精品 | 国产成人片视频一区二区青青 | 成人人猿泰山 | 久久久久激情免费观看 | 伊人青青操 | 俄罗斯大肥BBXX | 亚洲AV久久无码精品蜜桃 | 国产69精品久久久熟女 | 亚洲欧美日韩在线观看一区二区三区 | 一本之道高清视频在线观看 | 1300部真实小Y女视频合集 | 伊人久久精品午夜 | 十九禁啊啪射视频在线观看 | 成年色黄APP下载 | 伊人久久中文大香线蕉综合 | 国精产品一区一区三区有 | 2018三级网站免费观看 | 色屁屁影院 | 日韩欧美一区二区三区在线视频 | 小妇人电影免费完整观看2021 |