開發(fā)者將快應(yīng)用上架應(yīng)用市場(chǎng)后,希望能有多個(gè)入口直達(dá)快應(yīng)用,從而提高其快應(yīng)用的曝光率,帶來(lái)更多的流量。而快應(yīng)用開放的標(biāo)準(zhǔn)deeplink能力可以滿足開發(fā)者的需求。
應(yīng)用場(chǎng)景
Deeplink可以應(yīng)用在如下場(chǎng)景:
社交分享
將快應(yīng)用的Deeplink鏈接,通過(guò)社交軟件進(jìn)行分享,用戶點(diǎn)擊鏈接就可以直接打開快應(yīng)用。
廣告推廣
將快應(yīng)用的Deeplink鏈接,放入廣告推廣頁(yè)面,用戶點(diǎn)擊鏈接就可以直接打開快應(yīng)用。
運(yùn)營(yíng)活動(dòng)
進(jìn)行運(yùn)營(yíng)活動(dòng)時(shí),如果使用快應(yīng)用來(lái)吸引用戶參與到活動(dòng)中,可以將快應(yīng)用的Deeplink鏈接嵌入到運(yùn)營(yíng)活動(dòng)宣傳頁(yè)面,從而方便用戶的參與。
格式支持
快應(yīng)用Deeplink支持以下鏈接格式:
推薦使用:
hap://app/<package>/[path][?key=value]
https://hapjs.org/app/<package>/[path][?key=value]
僅適用于華為手機(jī):
hwfastapp://<package>/[path][?key=value]
package:應(yīng)用包名,必選。
path:應(yīng)用內(nèi)頁(yè)面的path,可選,不填寫的話,默認(rèn)為首頁(yè)。
key-value:需要傳給頁(yè)面的參數(shù),可選,可以有多個(gè)。傳遞的參數(shù)值有可能被其他應(yīng)用獲取,建議不要傳遞安全敏感度較高的數(shù)據(jù)。
開發(fā)過(guò)程
以下我們以跳轉(zhuǎn)包名為com.huawei.quickapp的快應(yīng)用demo為例,講解Deeplink的使用。
通過(guò)快應(yīng)用demo的manifest.json文件,我們可以獲得如下信息:
包名:com.huawei.quickapp。
應(yīng)用名稱:demo。
頁(yè)面:包含Hello和Detail兩個(gè)頁(yè)面,其中Hello為首頁(yè)。
在快應(yīng)用中調(diào)用Deeplink打開快應(yīng)用demo的示例代碼如下:
import router from '@system.router'
router.push({
uri: 'hap://app/com.huawei.quickapp’
})
在網(wǎng)頁(yè)中通過(guò)點(diǎn)擊鏈接打開快應(yīng)用demo的示例代碼如下:
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<a href=“hap://app/com.huawei.quickapp”>跳轉(zhuǎn)到快應(yīng)用demo</a>
</body>
</html>
以上例子沒有配置跳轉(zhuǎn)的具體頁(yè)面,所以默認(rèn)進(jìn)入快應(yīng)用demo的首頁(yè)Hello,如果想調(diào)整到Detail頁(yè)面,代碼可以修改為:
import router from '@system.router'
router.push({
uri: 'hap://app/com.huawei.quickapp/Detail’
})
如果還需要向Detail頁(yè)面?zhèn)鬟f參數(shù),可以將參數(shù)以key-value形式拼接在后面,多個(gè)參數(shù)使用&連接。假設(shè)向Detail頁(yè)面?zhèn)鬟fsource和name參數(shù),則代碼修改為:
import router from '@system.router'
router.push({
uri: 'hap://app/com.huawei.quickapp/Detail?source=net&name=aa’
})
接入Detail頁(yè)面后獲取參數(shù)值的代碼如下:
onShow: function () {
var nameValue=this.name;
var sourceValue=this.source;
}
開發(fā)完,可以在本地對(duì)Deeplink進(jìn)行測(cè)試,從而驗(yàn)證跳轉(zhuǎn)鏈接的準(zhǔn)確性。
注意:測(cè)試前,請(qǐng)確保華為快應(yīng)用加載器中有目標(biāo)快應(yīng)用的使用記錄。
測(cè)試
方法一:使用 android adb 命令(電腦需配置好adb環(huán)境)
adb shell am start -a android.intent.action.VIEW -d hap://app/com.huawei.quickapp/Detail
注意:使用命令測(cè)試不適用傳遞多個(gè)參數(shù)的場(chǎng)景。
方法二:在一個(gè)本地網(wǎng)頁(yè)中添加需測(cè)試的Deeplink超鏈接
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
window.location.href="hap://app/com.huawei.quickapp/Detail?source=net&name=aa";
</script>
</body>
</html>