問題背景
最近關注到華為的Applinking服務可以實現跨平臺的深度鏈接功能,看起來挺好用的,但是不知道能不能在非華為手機上使用?也不知道Applinking服務是否如很多華為提供的大部分服務一樣依賴HMS?在非華為手機上是不是要求先安裝HMS Core?
服務試用與驗證
針對上述問題, 我特地試用了一下華為的AppLinking服務。
本文主要是根據AppLinking所提供的Codelab進行學習與試用,Codelab的鏈接如下:
https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/AppLinking
根據Codelab的描述,我在一個Demo應用中集成了AppLinking,并且分別將鏈接的打開方式,前后分別設置為華為應用市場打開,以及本地商店打開:
1、在代碼中配置華為應用市場打開:
AppLinking.Builder builder = new AppLinking.Builder()
.setUriPrefix(DOMAIN_URI_PREFIX)
.setDeepLink(Uri.parse(DEEP_LINK))
.setAndroidLinkInfo(new AppLinking.AndroidLinkInfo
.Builder()
.setOpenType(AppGallery)
.build())
2、在代碼中配置本地商店打開:
AppLinking.Builder builder = new AppLinking.Builder()
.setUriPrefix(DOMAIN_URI_PREFIX)
.setDeepLink(Uri.parse(DEEP_LINK))
.setAndroidLinkInfo(new AppLinking.AndroidLinkInfo
.Builder()
.setOpenType(LocalMarket)
.build())
并且將其安裝到了非華為設備(手邊剛好有OPPO Reno和小米手機)上,查看具體的使用現象,并總結如下圖
非華為手機上具體現象:
結論
1、華為AppLinking服務,不依賴HMS。
2、在非華為手機上,應用已安裝的情況,可以直接拉起應用內頁面,使用無問題
3、在非華為手機上,應用未安裝的情況,配置華為商店打開,則跳轉到華為應用市場內,如果未安裝華為應用市場,則會重定向到web 華為應用市場頁。
4、在非華為手機上,應用未安裝的情況,配置本地商店打開,則會拉起所以本地商店,讓用戶自己選擇。(此情況部分手機廠商會做劫持,強行跳轉到廠商的官方商店)
5、華為的Codelab對各項操作的描述很詳細,集成體驗下來感覺對小白還是比較友好。