生成微信小程序鏈接步驟
1.獲取 URL Scheme
URL Scheme有效期最長(zhǎng) 30 天,不再支持永久有效的URL Scheme、不再區(qū)分短期有效URL Scheme與長(zhǎng)期有效URL Scheme。生成的 URL Scheme 如下所示:
weixin://dl/business/?t=*TICKET*
iOS系統(tǒng)支持識(shí)別 URL Scheme,可在短信等應(yīng)用場(chǎng)景中直接通過(guò) Scheme 跳轉(zhuǎn)小程序。
Android系統(tǒng)不支持直接識(shí)別 URL Scheme,用戶無(wú)法通過(guò) Scheme 正常打開(kāi)小程序,開(kāi)發(fā)者需要使用 H5 頁(yè)面中轉(zhuǎn),再跳轉(zhuǎn)到 Scheme 實(shí)現(xiàn)打開(kāi)小程序,跳轉(zhuǎn)代碼示例如下:
location.href = 'weixin://dl/business/?t= *TICKET*'
該跳轉(zhuǎn)方法可以在用戶打開(kāi) H5 時(shí)立即調(diào)用,也可以在用戶觸發(fā)事件后調(diào)用。每天生成 URL Scheme 和 URL Link 總數(shù)量上限為50萬(wàn)
PHP獲取微信小程序鏈接示例 :
//獲取access_token
$gwxcx_appid='wx111111111111111';
$gwxcx_secret='353634534634537242342342334242423';
$gwxcx_access_token_url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='$gwxcx_appid'&secret='.$gwxcx_secret;
$gwxcx_json = curl($gwxcx_access_token_url);
$gwxcx_json = json_decode($gwxcx_json, true);
$gwxcx_access_token = $gwxcx_json['access_token'];
$urlscheme_generate_url = "https://api.weixin.qq.com/wxa/generatescheme?access_token=" . $gwxcx_access_token;
$gwxcx_param = [
????'jump_wxa'=>['path'=>'pages/index/index','query'=>'from=kdpjjump'],
????'expire_type'=>1,? //有效期類型型 0 uxitemstap時(shí)間戳 1 失效天數(shù)
????'expire_interval'=>1?
];
$urlscheme_generate_result = curl($urlscheme_generate_url, json_encode($gwxcx_param));
$urlscheme_generate_result = json_decode($urlscheme_generate_result, true);
$gwxcx_url = $urlscheme_generate_result['openlink'];
echo? $gwxcx_url; //小程序鏈接
/**
*? 使用CURL實(shí)現(xiàn)GET和POST請(qǐng)求
* @param? string? ? $url? 請(qǐng)求地址
* @param? mixed? ? $post_data? POST數(shù)據(jù)
* @return? mixed
*/
function curl($url, $post_data = '', $port='', $ip='', $timeout = 5)
{
????$ch = curl_init();
????$header = array(
????????'Content-Type: application/json',
????);
????//curl_setopt($ch, CURLOPT_HEADER, false);
????curl_setopt ($ch, CURLOPT_URL, $url);
????curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
????$port && curl_setopt($ch, CURLOPT_PORT, $port);
????$ip && curl_setopt($ch, CURLOPT_INTERFACE, "$ip");
????if(!empty($post_data)){
????????curl_setopt ($ch, CURLOPT_POST, 1);
????????curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
????}
????curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
????//curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
????$file_contents = curl_exec($ch);
????if($file_contents === FALSE ){
????????//return curl_getinfo($ch);
????????return "CURL Error:".curl_error($ch);
????}
????curl_close($ch);
????return $file_contents;
}
2.獲取 URL Link
URL Link有效期最長(zhǎng) 30 天,不再支持永久有效的URL Link、不再區(qū)分短期有效URL Link與長(zhǎng)期有效URL Link
生成的 URL Link 如下所示:
https://wxaurl.cn/*TICKET* 或 https://wxmpurl.cn/*TICKET*
每天生成 URL Link 總數(shù)量上限為50萬(wàn),只能生成已發(fā)布的小程序的 URL Link。在微信內(nèi)或者安卓手機(jī)打開(kāi) URL Link 時(shí),默認(rèn)會(huì)先跳轉(zhuǎn)官方 H5 中間頁(yè),如果需要定制 H5 內(nèi)容,可以使用云開(kāi)發(fā)靜態(tài)網(wǎng)站。
URL LINK 接口文檔
PHP獲取微信小程序鏈接示例 :
//獲取access_token
$gwxcx_appid='wx111111111111111';
$gwxcx_secret='353634534634537242342342334242423';
$gwxcx_access_token_url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='$gwxcx_appid'&secret='.$gwxcx_secret;
$gwxcx_json = curl($gwxcx_access_token_url);
$gwxcx_json = json_decode($gwxcx_json, true);
$gwxcx_access_token = $gwxcx_json['access_token'];
$urllink_generate_url = "https://api.weixin.qq.com/wxa/generate_urllink?access_token=" . $gwxcx_access_token;
$gwxcx_param = [
????'path'=>'pages/index/index',
????'query'=>'from=kdpjjump',
????'expire_type'=>1,? //有效期類型型 0 uxitemstap時(shí)間戳 1 失效天數(shù)
????'expire_interval'=>1?
];
$urllink_generate_result = curl($urllink_generate_url , json_encode($gwxcx_param));
$urllink_generate_result = json_decode($urllink_generate_result, true);
$gwxcx_url = $urllink_generate_result['url_link'];
echo? $gwxcx_url; //小程序鏈接
/**
*? 使用CURL實(shí)現(xiàn)GET和POST請(qǐng)求
* @param? string? ? $url? 請(qǐng)求地址
* @param? mixed? ? $post_data? POST數(shù)據(jù)
* @return? mixed
*/
function curl($url, $post_data = '', $port='', $ip='', $timeout = 5)
{
????$ch = curl_init();
????$header = array(
????????'Content-Type: application/json',
????);
????//curl_setopt($ch, CURLOPT_HEADER, false);
????curl_setopt ($ch, CURLOPT_URL, $url);
????curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
????$port && curl_setopt($ch, CURLOPT_PORT, $port);
????$ip && curl_setopt($ch, CURLOPT_INTERFACE, "$ip");
????if(!empty($post_data)){
????????curl_setopt ($ch, CURLOPT_POST, 1);
????????curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
????}
????curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
????//curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
????$file_contents = curl_exec($ch);
????if($file_contents === FALSE ){
????????//return curl_getinfo($ch);
????????return "CURL Error:".curl_error($ch);
????}
????curl_close($ch);
????return $file_contents;
}
3.獲取 Short Link
通過(guò)服務(wù)端接口可以獲取打開(kāi)小程序任意頁(yè)面的 Short Link。適用于微信內(nèi)拉起小程序的業(yè)務(wù)場(chǎng)景。通過(guò) Short Link 打開(kāi)小程序的場(chǎng)景值為 1179。
生成的 ShortLink 如下所示:
#小程序://小程序示例/示例頁(yè)面/9pZvnVw3KMCQpVp
Link 將根據(jù)是否為到期有效與失效時(shí)間參數(shù),分為**短期有效ShortLink ** 與 **永久有效ShortLink **:
單個(gè)小程序每日生成 ShortLink 上限為50萬(wàn)個(gè)(包含短期有效 ShortLink 與長(zhǎng)期有效 ShortLink )
單個(gè)小程序總共可生成永久有效 ShortLink 上限為10萬(wàn)個(gè),請(qǐng)謹(jǐn)慎調(diào)用。
短期有效ShortLink 有效時(shí)間為30天,單個(gè)小程序生成短期有效ShortLink 不設(shè)上限。
4.短信打開(kāi)小程序
開(kāi)發(fā)者可通過(guò)以下3種方式實(shí)現(xiàn)短信打開(kāi)小程序:
通過(guò)URL Scheme實(shí)現(xiàn)
通過(guò)服務(wù)端接口或在小程序管理后臺(tái)生成URL Scheme后,自行開(kāi)發(fā)中轉(zhuǎn)H5頁(yè)面。
將帶有中轉(zhuǎn)H5鏈接的短信內(nèi)容通過(guò)開(kāi)發(fā)者自有的短信發(fā)送能力或服務(wù)商的短信服務(wù)進(jìn)行投放,實(shí)現(xiàn)短信打開(kāi)小程序。
通過(guò)URL Link實(shí)現(xiàn)
通過(guò)服務(wù)端接口生成URL Link。
直接將帶有URL Link的短信內(nèi)容通過(guò)開(kāi)發(fā)者自有的短信發(fā)送能力或服務(wù)商的短信服務(wù)進(jìn)行投放,實(shí)現(xiàn)短信打開(kāi)小程序。
通過(guò)云開(kāi)發(fā)靜態(tài)網(wǎng)站實(shí)現(xiàn)
5.NFC 標(biāo)簽打開(kāi)小程序
基于小程序 URL Scheme,在現(xiàn)有短信、郵件、網(wǎng)頁(yè)等場(chǎng)景外,微信還支持通過(guò) NFC 卡片快捷拉起小程序頁(yè)面的能力??捎糜谥悄茉O(shè)備的快速配網(wǎng)、快捷控制等場(chǎng)景。
該能力不受 URL Scheme 30 天有效期限制,且允許多個(gè)用戶訪問(wèn)。