生成微信小程序链接步骤
1.获取 URL Scheme
URL Scheme有效期最长 30 天,不再支持永久有效的URL Scheme、不再区分短期有效URL Scheme与长期有效URL Scheme。生成的 URL Scheme 如下所示:
weixin://dl/business/?t=*TICKET*
iOS系统支持识别 URL Scheme,可在短信等应用场景中直接通过 Scheme 跳转小程序。
Android系统不支持直接识别 URL Scheme,用户无法通过 Scheme 正常打开小程序,开发者需要使用 H5 页面中转,再跳转到 Scheme 实现打开小程序,跳转代码示例如下:
location.href = 'weixin://dl/business/?t= *TICKET*'
该跳转方法可以在用户打开 H5 时立即调用,也可以在用户触发事件后调用。每天生成 URL Scheme 和 URL Link 总数量上限为50万
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时间戳 1 失效天数
'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实现GET和POST请求
* @param string $url 请求地址
* @param mixed $post_data POST数据
* @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有效期最长 30 天,不再支持永久有效的URL Link、不再区分短期有效URL Link与长期有效URL Link
生成的 URL Link 如下所示:
https://wxaurl.cn/*TICKET* 或 https://wxmpurl.cn/*TICKET*
每天生成 URL Link 总数量上限为50万,只能生成已发布的小程序的 URL Link。在微信内或者安卓手机打开 URL Link 时,默认会先跳转官方 H5 中间页,如果需要定制 H5 内容,可以使用云开发静态网站。
URL LINK 接口文档
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时间戳 1 失效天数
'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实现GET和POST请求
* @param string $url 请求地址
* @param mixed $post_data POST数据
* @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
通过服务端接口可以获取打开小程序任意页面的 Short Link。适用于微信内拉起小程序的业务场景。通过 Short Link 打开小程序的场景值为 1179。
生成的 ShortLink 如下所示:
#小程序://小程序示例/示例页面/9pZvnVw3KMCQpVp
Link 将根据是否为到期有效与失效时间参数,分为**短期有效ShortLink ** 与 **永久有效ShortLink **:
单个小程序每日生成 ShortLink 上限为50万个(包含短期有效 ShortLink 与长期有效 ShortLink )
单个小程序总共可生成永久有效 ShortLink 上限为10万个,请谨慎调用。
短期有效ShortLink 有效时间为30天,单个小程序生成短期有效ShortLink 不设上限。
4.短信打开小程序
开发者可通过以下3种方式实现短信打开小程序:
通过URL Scheme实现
通过服务端接口或在小程序管理后台生成URL Scheme后,自行开发中转H5页面。
将带有中转H5链接的短信内容通过开发者自有的短信发送能力或服务商的短信服务进行投放,实现短信打开小程序。
通过URL Link实现
通过服务端接口生成URL Link。
直接将带有URL Link的短信内容通过开发者自有的短信发送能力或服务商的短信服务进行投放,实现短信打开小程序。
通过云开发静态网站实现
5.NFC 标签打开小程序
基于小程序 URL Scheme,在现有短信、邮件、网页等场景外,微信还支持通过 NFC 卡片快捷拉起小程序页面的能力。可用于智能设备的快速配网、快捷控制等场景。
该能力不受 URL Scheme 30 天有效期限制,且允许多个用户访问。