微信小程序 Url Scheme 访问小程序实现
1、什么是 URL scheme
URL Scheme,是微信小程序后台生成一种地址,适用于从短信、邮件、微信外网页等场景打开小程序任意页面。通过URL Scheme打开小程序的场景值为 1065。
生成的 URL Scheme 如下所示:
weixin://dl/business/?t= *TICKET*
详见官方文档https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/url-scheme.html
1.1第一种方式
小程序后台 > 工具 > 生成 URL Scheme ,
输入小程序页面路径和启动参数,点击生成
生成 scheme
1.2第二种方式
代码生成,通过在服务端调用 urlscheme.generate 接口生成 url sheme。
2、URL Scheme 进入微信小程序
iOS系统支持识别 URL Scheme,可在短信等应用场景中直接通过Scheme跳转小程序。
Android系统不支持直接识别 URL Scheme,用户无法通过 Scheme 正常打开小程序,开发者需要使用 H5 页面中转,再跳转到 Scheme 实现打开小程序,跳转代码示例如下:
location.href = 'weixin://dl/business/?t= *TICKET*'
2.1 ios 系统跳小程序
可以直接在短信点击链接跳转小程序。
image.png
image.png
打开小程序成功。
2.2Android 系统跳小程序
URL Scheme 需要在 H5 上通过 a 标签跳转打开小程序。
本地代码上传,并在手机打开网页
手机浏览器(非微信内置浏览器)打开该地址,点击“打开小程序”,看到下方有打开微信的提示,点击“打开”。
image.png
直接启动微信小程序进入页面。
2.3微信内网页跳小程序
微信内的网页如需打开小程序请使用微信开放标签-小程序跳转按钮,无公众号也可以直接使用小程序身份开发网页并免鉴权跳转小程序,见云开发静态网站跳转小程序。
参考上面两篇文档,编写 demo如下。
// index.html
<head>
// 引入微信网页 js sdk 文件
<script charset="UTF-8" src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
<title>Hello miniProgram cloud website</title>
<script charset="UTF-8">
// 初始化配置
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印
appId: 'wx16ce2f6e06acd4d5', // 必填,公众号的唯一标识
timestamp: 0, // 必填,填任意数字即可
nonceStr: 'nonceStr', // 必填,填任意非空字符串即可
signature: 'signature', // 必填,填任意非空字符串即可
jsApiList: ['chooseImage'], // 必填,随意一个接口即可
openTagList:['wx-open-launch-weapp'], // 填入打开小程序的开放标签名
});
</script>
</head>
<body>
// 在 h5 网页打开小程序
<a href="weixin://dl/business/?t=YtqQ6kpcrQd">微信外打开小程序</a>
<br>
// 微信内网页打开小程序,username:小程序原始账号 ID(gh_ 开头的),path:要跳转到的页面路径
<wx-open-launch-weapp id="launch-btn" username="gh_584e35a9a020" path="pages/index/index">
<template>
<button style="width: 200px; height: 45px; text-align: center; font-size: 17px; display: block; margin: 0 auto; padding: 8px 24px; border: none; border-radius: 4px; background-color: #07c160; color:#fff;">打开小程序</button>
</template>
</wx-open-launch-weapp>
</body>
如果在微信外,通过上面代码的 a 标签打开小程序,微信内网页,通过 wx-open-launch-weapp 标签打开小程序。
将该域名拷贝到微信打开。
image.png
如果是微信外的 h5 页面,则通过上图的 a 标签打开小程序,href 绑定的是 URL Scheme 地址。