腾讯开放的ticket接口可以参考如何去用抖音、快手、头条如何去利用微信协议weixin://dl/business/?t=去打开跳转微信?
URL Scheme打开小程序
通过服务端接口或在小程序管理后台「工具」-「生成URL Scheme」入口可以获取打开小程序任意页面的URL Scheme。适用于从短信、邮件、微信外网页等场景打开小程序。 通过URL Scheme打开小程序的场景值为 1065。
生成的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时立即调用,也可以在用户触发事件后调用。
调用上限
Scheme将根据是否为到期有效与失效时间参数,分为短期有效Scheme与长期有效Scheme:
单个小程序每日生成Scheme上限为50万个(包含短期有效Scheme与长期有效Scheme)
有效时间超过31天的Scheme或永久有效的Scheme为长期有效Scheme,单个小程序总共可生成长期有效Scheme上限为10万个,请谨慎调用
有效时间不超过31天的Scheme为短期有效Scheme,单个小程序生成短期有效Scheme不设上限
注意事项
生成的URL Scheme仅支持从微信外打开小程序。微信内的网页如需打开小程序请使用微信开放标签-小程序跳转按钮,无公众号也可以直接使用小程序身份开发网页并免鉴权跳转小程序,见云开发静态网站跳转小程序。符合开放范围的小程序可以下发支持打开小程序的短信。
该功能基本覆盖当前用户正在使用的微信版本,开发者无需进行低版本兼容。
只能生成已发布的小程序的URL Scheme。
通过URL Scheme跳转到微信时,可能会触发系统弹框询问,若用户选择不跳转,则无法打开小程序。请开发者妥善处理用户选择不跳转的场景。
开放范围
针对国内非个人主体小程序开放。
示例
示例使用了云开发静态网站托管搭建网页,无需公众号,只需准备好小程序和开通云开发。网页会判断所在的环境来觉得采用哪种跳转方式,如检测到微信客户端内,则免鉴权使用开放标签跳转,如检测到在外部浏览器或 App,则使用 URL Scheme 跳转小程序。
//code by www.jumpwx.com
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.templateMessage.send({
touser: cloud.getWXContext().OPENID, // 通过 getWXContext 获取 OPENID
page: 'index',
data: {
keyword1: {
value: '339208499'
},
keyword2: {
value: '2015年01月05日 12:30'
},
keyword3: {
value: '腾讯微信总部'
},
keyword4: {
value: '广州市海珠区新港中路397号'
}
},
templateId: 'TEMPLATE_ID',
formId: 'FORMID',
emphasisKeyword: 'keyword1.DATA'
})
// result 结构
// { errCode: 0, errMsg: 'openapi.templateMessage.send:ok' }
return result
} catch (err) {
// 错误处理
// err.errCode !== 0
throw err
}
}
urlscheme.generate
`获取小程序scheme码,适用于短信、邮件、外部网页等拉起小程序的业务场景。通过该接口,可以选择生成到期失效和永久有效的小程序码,目前仅针对国内非个人主体的小程序开放,详见获取URL scheme码。
调用方式:
HTTPS 调用
云调用
HTTPS 调用
请求地址
POST http://api.weixin.qq.wxticket.com/#wxa/generatescheme?access_token=q10572137
请求参数
属性 类型 默认值 必填 说明
access_token string 是 接口调用凭证
jump_wxa Object 否 跳转到的目标小程序信息。
is_expire boolean false 否 生成的scheme码类型,到期失效:true,永久有效:false。
expire_time number 否 到期失效的scheme码的失效时间,为Unix时间戳。生成的到期失效scheme码在该时间前有效。最长有效期为1年。生成到期失效的scheme时必填。
jump_wxa 的结构
属性 类型 默认值 必填 说明
path string 是 通过scheme码进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带query。path为空时会跳转小程序主页。
query string 是 通过scheme码进入小程序时的query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~
返回值
openlink
生成的小程序scheme
异常返回`