Android 通过短信(H5)跳转到App指定页面
最近公司為了增加用戶活躍度,新增了許多活動,要求從多種方式可以跳轉到App的指定頁面。比如閃屏頁、首頁彈框、首頁banner、webView、極光推送消息點擊跳轉以及通過短信跳轉到App。
對此,我們制定了一套專屬于公司的liubike協議,統一了三端的跳轉,解決了跳轉不規范和不全面的情況。
liubike協議和淘寶的taobao://、微信的 weixin://等類似,liubike協議遵循于URL schema。
URL Schema
URL Schema 的屬性有 Scheme、Host、port、path、query。
比如
這里我們可以得知
scheme: liubike host:mine path:settings query:type=1&&id=7這樣,我們根據liiubike協議,就擁有了跳轉到App任意頁面的能力。
可優化的地方: 可以和ARouter的路由進行整合,從而體現路由化的優勢
通過短信跳轉到App指定頁面
前面幾個跳轉通過liubike協議相對較好實現,但是對于通過短信直接跳轉到App,IOS是可以實現的,而Android研究了一圈,發現都是通過先跳轉到H5頁面,然后再中轉跳轉到App的。
比如美團
跳轉到H5后,直接彈出了跳轉到App的彈框。
如果點擊允許打開,則直接打開App;
如果點擊不允許打開,則還可以通過H5中的"已下載App立即打開"按鈕,跳轉到App中。
又查看了優酷、中國電信等,都是類似的。
故最后決定,也采用此方案。
首先,我們需要先創建一個html
<!DOCTYPE html> <html> <head><title>Android跳轉測試</title> </head> <body><a href="liubike://mine/settings?type=1&&id=7">打開</a></br> </body> </html>然后,在AndroidManifest中,對SplashActivity,添加如下intent-filter
<intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><data android:scheme="liubike"/> </intent-filter>data里scheme、path、host都可以指定,但是,由于我們跳轉的頁面是未知的,此處,我們只指定schema。
接著,我們在SplashActivity的onCreate中,實現跳轉數據的接收
最后,我們通過瀏覽器打開我們編寫的html,點擊a標簽,就會彈出跳轉App的彈框了。
小結
至此,通過短信跳轉到App的功能就可以實現了。
發送的短信中包含一個url,點擊會跳轉到h5中,接著通過h5的中轉,最終可以跳轉到App中。
不過我們demo中使用a標簽的形式,還有兼容性問題,試了下QQ瀏覽器和系統自帶瀏覽器,都是可以彈出跳轉對話框的,但是夸克瀏覽器點擊了并沒有任何效果。這個就需要H5開發來兼容這些問題了,我們這里就不討論了。
補充
可以使用第三方庫 LinkedMe 的深度鏈接功能,來幫助我們實現App的跳轉。這樣就不需要我們自己去實現了。
相關推薦閱讀 : 瀏覽器為什么能喚起App的頁面
總結
以上是生活随笔為你收集整理的Android 通过短信(H5)跳转到App指定页面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win11亮度无法调节解决方法(在卸载驱
- 下一篇: 聚类分析案例