?考慮到微信屏蔽了scheme跳轉(zhuǎn),我首先使用了通用鏈接的方式。但是它的缺點也很明顯:①安卓的App link無法跳轉(zhuǎn)菠齿,②用戶在沒有安裝App的條件下,在通過安裝引導(dǎo)安裝成功打開應(yīng)用后葬项,無法跳轉(zhuǎn)到目標(biāo)頁泞当。
?基于這些問題,我在考慮是否有一種更通用的辦法來實現(xiàn)在各個平臺通過點擊分享鏈接后都能在喚起應(yīng)用的情況下跳轉(zhuǎn)到目標(biāo)頁呢?
?
?首先分析我們的目標(biāo)訴求:1.喚起App襟士,2.跳轉(zhuǎn)到目標(biāo)頁
?
?拋開第一步盗飒,如果單單以結(jié)果為導(dǎo)向,只考慮如何跳轉(zhuǎn)到目標(biāo)頁陋桂,相信所有人都知道:通過參數(shù)判斷跳轉(zhuǎn)逆趣,并傳遞數(shù)據(jù)。
到了這里就很有意思了嗜历,這些參數(shù)從何而來宣渗?當(dāng)然是從H5而來!但是這里有一個問題:在用戶沒有安裝App的情況下梨州,尤其是iOS痕囱,用戶都是到應(yīng)用商店來下載App(這里不考慮企業(yè)級簽名App),再打開App暴匠。App Store也不會允許你傳遞參數(shù)(上下文信息)給他鞍恢,同時在你點擊打開按鈕的時候幫你把需要的參數(shù)傳遞給你的App,不是嗎每窖?
?也就是說:在H5交互的時候帮掉,其實已經(jīng)把需要的參數(shù)放在了終端的某個地方,當(dāng)喚起App的時候窒典,若參數(shù)符合設(shè)置的參數(shù)規(guī)定蟆炊,就跳轉(zhuǎn)到對應(yīng)的目標(biāo)頁面。
?進一步思考:這個恰當(dāng)?shù)牡胤讲荒芴^于復(fù)雜瀑志,也不能太過于明顯涩搓,而且蘋果終端設(shè)置了沙盒機制,那么這個地方應(yīng)該是公共的后室、易于獲取的缩膝。綜合以上這些特點,最佳的方式是使用剪切板(當(dāng)然岸霹,這是我網(wǎng)絡(luò)多方檢索后查到的??)
?最后呢,我確定當(dāng)用戶在H5點擊打開App后将饺,統(tǒng)一跳轉(zhuǎn)到應(yīng)用寶的下載頁面(當(dāng)然之前要配置好iOS端的下載鏈接)贡避,同時把需要的參數(shù)信息存儲到剪貼板里面,最好做下加密予弧。最后在喚起App的時候刮吧,通過獲取剪貼板的信息,來判斷是否跳轉(zhuǎn)到具體目標(biāo)頁面掖蛤。
反思和總結(jié):處理任何問題杀捻,都要有自己的、具體的蚓庭、清晰的致讥、科學(xué)的方法論仅仆,這樣才能一步步接近處理問題的本質(zhì)。發(fā)現(xiàn)垢袱、分析墓拜、總結(jié)和復(fù)盤,不斷更正和完善自己的方法論请契,所有問題都會別迎刃而解咳榜。
? ---與諸君共勉!