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