W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
我們除了為小程序提供搜索、信息流等流量入口,還為小程序開發(fā)者提供了自主開發(fā)小程序入口的能力,如:掃碼打開小程序,在 H5 中打開智能小程序,在小程序中打開另一小程序。開發(fā)者可以利用這些能力自主開發(fā)小程序入口,提升小程序流量。
下面的內(nèi)容可以稍作了解,我們提供了封裝好的調(diào)起能力,可以根據(jù)不同場景直接調(diào)用。
URL Scheme 是一種 App 間的調(diào)起協(xié)議。App 內(nèi)部注冊協(xié)議后,當(dāng)用戶在瀏覽器或其他 App 內(nèi)點擊相應(yīng)的 scheme 鏈接,就能夠調(diào)起 App 并打開 App 內(nèi)的相關(guān)頁面。下面是“智能小程序示例”小程序的調(diào)起 scheme:
字段 | 說明 | |
Scheme | baiduboxapp | scheme協(xié)議。這部分表示使用百度App處理這個url。使用百度App打開小程序時,這部分保持不變。 |
Source | swan | 小程序標(biāo)識,保持不變。用來通知百度App調(diào)起小程序框架。 |
appKey | 想要打開的小程序appKey。 | |
page | 小程序打開的頁面路徑。頁面路徑可以在小程序代碼app.json文件的pages屬性中取到,常見形式為 "pages/index/index" 。page為空或不正確,則打開首頁。 | |
query | 小程序頁面路徑參數(shù) |
一般情況下開發(fā)者不需要手動拼寫 scheme,可以通過調(diào)起協(xié)議生成工具快速生成 scheme,使用方法參考scheme 生成工具。
小程序調(diào)起機(jī)制如下圖,當(dāng)用戶在 H5 頁面中點擊含有 Scheme 協(xié)議的 url 時:
開發(fā)者在商業(yè)投放、上線前驗證等場景下可能需要獲取小程序調(diào)起協(xié)議(scheme),這時可以通過調(diào)起協(xié)議生成工具快速生成小程序 scheme 和二維碼。
生成工具的參數(shù)填寫示例如下:
其中需要填寫的參數(shù),與 scheme 的對應(yīng)關(guān)系如下:
參數(shù)名 | 對應(yīng) scheme 參數(shù) | 參數(shù)含義 |
---|---|---|
App Key | appKey | 小程序 appKey |
啟動頁面 | page | 打開的小程序頁面路徑 |
啟動參數(shù) | query | 小程序路徑的參數(shù) |
進(jìn)入場景 | from | 場景值 |
根據(jù)小程序打開場景的不同,我們根據(jù)不同場景,封裝了三種能力幫助開發(fā)者為自己的小程序添加入口,分別為:
使用這三種能力開發(fā)調(diào)起功能,只需要配置必需的小程序參數(shù),不需要開發(fā)者拼接 scheme。
如果開發(fā)者有自己的 H5 頁面,在 H5 中想要打開小程序時,可以使用我們提供的 H5 通用調(diào)起 SDK——swanInvoke。swanInvoke 功能:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!-- 引入 調(diào)起sdk 文件 -->
<script type="text/javascript" src="https://b.bdstatic.com/searchbox/icms/searchbox/js/swanInvoke.js" rel="external nofollow" ></script>
</head>
</html>
<body>
<button id='btn'>調(diào)起</button>
<script type="text/javascript">
document.getElementById('btn').addEventListener('click', function () {
window.swanInvoke({
appKey: '4fecoAqgCIUtzIyA4FAPgoyrc4oUc25c',
path: 'pages/view/view',
query: {
id:1,
type: 'a'
}
});
});
</script>
</body>
由于原生能力限制,在某些環(huán)境下,scheme 調(diào)起必須由用戶行為觸發(fā)。請盡量綁定用戶事件觸發(fā) swanInvoke 方法。參數(shù)名 | 類型 | 必填 | 默認(rèn)值 | 說明 |
---|---|---|---|---|
appKey | String | 是 | - | 要打開的小程序 App Key |
path | String | 否 | - | 要打開的小程序頁面的路徑 |
query | Object | 否 | - | 給小程序傳遞的參數(shù) |
failUrl | String | 否 | 默認(rèn)的調(diào)起中間頁 | 調(diào)起小程序失敗后 H5 跳轉(zhuǎn)頁面 |
timeout | Number | 否 | 200 | 非百度 APP 內(nèi)打開 H5 頁面調(diào)起小程序,跳轉(zhuǎn)到 failUrl 的延時 |
這里的 appKey、path、query,對應(yīng) scheme 中的同名參數(shù)(scheme 參數(shù)請參考URL Scheme)。
swanInvoke 方法的 query 可以填寫 Object 類型,不需要拼接成類似“aa=1&bb=2“的字符串形式。具體形式參考代碼示例。
window.swanInvoke({
appKey: '4fecoAqgCIUtzIyA4FAPgoyrc4oUc25c',
path: 'pages/view/view',
failUrl: 'https://www.baidu.com' // 調(diào)起失敗跳轉(zhuǎn)的頁面
});
暫不支持在宿主 APP 中打開小程序。百度 APP 安卓 11.15 版本以下,不支持非百度域的 H5 頁面打開小程序。在小程序中打開另一個小程序可以通過組件或 API 的方式。
在小程序的 web-view 中打開另一個小程序,需要在引入 jssdk 后,調(diào)用 swan.navigateToSmartProgram 接口。
引入 jssdk 和接口調(diào)用的詳細(xì)方法,請參考 web-view 網(wǎng)頁容器
H5 運行時,通過 window.navigator.userAgent 獲取瀏覽器 userAgent。當(dāng) userAgent 字符串中包含小程序標(biāo)識:‘swan/’時,則說明當(dāng)前環(huán)境為小程序 web-view。
代碼示例
// 在 H5 文件中
let UA = window.navigator.userAgent;
var regex = /swan\//;
console.log( regex.test(UA) );// 若為true,則是在小程序的web-view中打開
百度已為小程序提供了搜索、信息流等流量入口。這部分流量可以在開發(fā)者平臺——數(shù)據(jù)統(tǒng)計——來源統(tǒng)計中查看。
如果需要統(tǒng)計自行開發(fā)的小程序入口,或當(dāng)開發(fā)者平臺不能滿足統(tǒng)計需求時,可以使用下面的方法,在小程序中手工打點統(tǒng)計。
App({
onShow: function (options) {
swan.requrest({
path: options.path, // 小程序路徑
query: options.query,// 小程序傳入的參數(shù)
scene: options.scene // 場景值
})
},
})
兩種調(diào)起能力的配置參數(shù),與 onShow 中獲取的參數(shù)名稱不完全相同,參數(shù)對應(yīng)關(guān)系如下表所示。參數(shù) | H5 打開小程序配置參數(shù)名 | 小程序打開小程序配置參數(shù)名 | onShow 中獲取的參數(shù)名 |
---|---|---|---|
小程序 appKey | appKey | app-id | - |
小程序頁面路徑 | path | path | path |
小程序路徑的參數(shù) | query | extra-data | query |
入口場景值 | - | - | scene |
場景值說明
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: