# 獲取 URL Scheme
自 2023 年 12 月 19 日起,對URL Scheme進(jìn)行升級,詳細(xì)調(diào)整說明可見《URL Scheme 和 URL Link優(yōu)化公告》。改動點(diǎn)概覽如下:
1. 支持開發(fā)者在原有加密 URL Scheme 后面拼接參數(shù);
2. 新增明文 URL Scheme,開發(fā)者無需調(diào)用接口可自行拼接生成明文Scheme;
3. 取消 URL Scheme 一人一鏈的限制,支持同一條連接被多名用戶訪問;
4. 每個小程序每天 URL Scheme 和 URL Link 總打開次數(shù)上限為300萬。
# 加密 URL Scheme
# 獲取方式
通過服務(wù)端接口可以獲取打開小程序任意頁面的加密 URL Scheme。適用于從短信、郵件、微信外網(wǎng)頁等場景打開小程序。
通過 URL Scheme 打開小程序的場景值為 1065。
生成的 URL Scheme 如下所示:
weixin://dl/business/?t= *TICKET*
iOS系統(tǒng)支持識別 URL Scheme,可在短信等應(yīng)用場景中直接通過Scheme跳轉(zhuǎn)小程序。
Android系統(tǒng)不支持直接識別 URL Scheme,用戶無法通過 Scheme 正常打開小程序,開發(fā)者需要使用 H5 頁面中轉(zhuǎn),再跳轉(zhuǎn)到 Scheme 實(shí)現(xiàn)打開小程序,跳轉(zhuǎn)代碼示例如下:
location.href = 'weixin://dl/business/?t= *TICKET*'
該跳轉(zhuǎn)方法可以在用戶打開 H5 時立即調(diào)用,也可以在用戶觸發(fā)事件后調(diào)用。
# 拼接參數(shù)
將原有 URL Scheme 平滑升級為加密 URL Scheme,支持開發(fā)者自行在鏈接后面拼接參數(shù)CUSTOM PARAMETE,拼接參數(shù)后的 URL Scheme 如下所示:
weixin://dl/business/?t= *TICKET*&cq=*CUSTOM PARAMETER*
注意:
CUSTOM PARAMETE是一種特殊的query,最大256個字符,只支持?jǐn)?shù)字,大小寫英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~%`,需要url_encode;- 在本次規(guī)則調(diào)整生效前已經(jīng)生成的 URL Scheme 可繼續(xù)正常使用,并可直接進(jìn)行
CUSTOM PARAMETE參數(shù)拼接; - 拼接參數(shù)后的加密 URL Scheme 打開小程序的場景值不變,仍為 1065。
# 明文 URL Scheme
# 獲取方式
開發(fā)者無需調(diào)用平臺接口,在「MP平臺 - 左下角賬號 - 賬號設(shè)置 - 基本設(shè)置 - 隱私與安全 - 明文Scheme拉起此小程序」聲明后,可自行根據(jù)如下格式拼接appid和path等參數(shù),作為明文 URL Scheme 鏈接。
weixin://dl/business/?appid=*APPID*&path=*PATH*&query=*QUERY*&env_version=*ENV_VERSION*
其中,各個參數(shù)的定義如下:
- 【必填】APPID:通過明文 URL Scheme 打開小程序的 appid ;
- 【必填】PATH:通過明文 URL Scheme 打開小程序的頁面 path ,必須是已經(jīng)發(fā)布的小程序存在的頁面,不可攜帶 query;
- 【選填】QUERY:通過明文 URL Scheme 打開小程序的 query ,最大512個字符,只支持?jǐn)?shù)字,大小寫英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~%`,需要url_encode;
- 【選填】ENV_VERSION:要打開的小程序版本,正式版為
release,體驗(yàn)版為trial,開發(fā)版為develop,僅在微信外打開時生效。注意:若不填寫,則默認(rèn)打開正式版小程序。
通過明文 URL Scheme 打開小程序的場景值為 1286。
# 頻率限制
生成端:每天生成 加密URL Scheme 和 URL Link 的總數(shù)量上限為50萬;
打開端:每天通過 URL Scheme(加密+明文) 和 URL Link 打開小程序的總次數(shù)上限為300萬。
# 注意事項
- 微信內(nèi)的網(wǎng)頁如需打開小程序請使用微信開放標(biāo)簽-小程序跳轉(zhuǎn)按鈕,無公眾號也可以直接使用小程序身份開發(fā)網(wǎng)頁并免鑒權(quán)跳轉(zhuǎn)小程序,見云開發(fā)靜態(tài)網(wǎng)站跳轉(zhuǎn)小程序。符合開放范圍的小程序可以下發(fā)支持打開小程序的短信
- 該功能基本覆蓋當(dāng)前用戶正在使用的微信版本,開發(fā)者無需進(jìn)行低版本兼容
- 只能生成已發(fā)布的小程序的 URL Scheme
- 通過 URL Scheme 跳轉(zhuǎn)到微信時,可能會觸發(fā)系統(tǒng)彈框詢問,若用戶選擇不跳轉(zhuǎn),則無法打開小程序。請開發(fā)者妥善處理用戶選擇不跳轉(zhuǎn)的場景
- 部分瀏覽器會限制打開網(wǎng)頁直接跳轉(zhuǎn),可參考示例網(wǎng)頁設(shè)置跳轉(zhuǎn)按鈕
- 平臺有安全策略防止開發(fā)者的鏈接被黑灰產(chǎn)批量打開,導(dǎo)致的達(dá)到訪問上限無法正常打開小程序的問題
# 開放范圍
針對非個人主體小程序開放。
# 示例代碼
示例使用了云開發(fā)靜態(tài)網(wǎng)站托管搭建網(wǎng)頁,無需公眾號,只需準(zhǔn)備好小程序和開通云開發(fā)。網(wǎng)頁會判斷所在的環(huán)境來決定采用哪種跳轉(zhuǎn)方式,如檢測到微信客戶端內(nèi),則免鑒權(quán)使用開放標(biāo)簽跳轉(zhuǎn),如檢測到在外部瀏覽器或 App,則使用 URL Scheme 跳轉(zhuǎn)小程序。
示例網(wǎng)頁地址:https://postpay-2g5hm2oxbbb721a4-1258211818.tcloudbaseapp.com/jump-mp.html
詳細(xì)代碼示例和說明:云開發(fā)靜態(tài)網(wǎng)站跳轉(zhuǎn)小程序。