评论

谈谈非微信环境如何跳转/打开小程序【URL Scheme】

很多人还以为小程序只能在微信环境才能相互跳转,不知道其实【URL Scheme】早就可以实现非微信环境跳转,并且比使用微信环境内容的开发标签跳转小程序更简单,希望有这方面需求的人,可以使用到

有些节假日活动或者业务需求,需要把H5的用户引导到小程序来,这或许就比较麻烦了,

微信环境还好,可以直接使用微信提供的<wx-open-launch-weapp>来打开小程序,具体如何实现可以参考这篇文章:

https://developers.weixin.qq.com/community/develop/article/doc/000c00b4490678f528baf2cf756413

现在谈的是非微信环境打开我们自己的小程序,如何实现?

我们可以使用微信提供的【URL Scheme】地址来实现跳转。

具体怎么操作,如下:

如何获取【URL Scheme】地址,获取方法有2种?

1、可以不用通过服务器调接口,通过登录公众平台,小程序管理后台「工具」-「生成URL Scheme」入口可以获取打开小程序任意页面的URL Scheme(位置在登录后右上角),可以填写你需要跳转小程序的页面地址及参数,点击生成即可

2、可以通过微信api接口服务器端调取来生成【URL Scheme】地址,使用一个token就可以实现获取,生成的地址及参数和上面一样的,可以配置对应的参数,地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/url-scheme/urlscheme.generate.html

怎么正确使用呢?

iOS系统支持识别URL Scheme,可在短信等应用场景中直接通过Scheme跳转小程序。

Android系统不支持直接识别URL Scheme,用户无法通过Scheme正常打开小程序,开发者需要使用H5页面中转,再跳转到Scheme实现打开小程序,跳转代码示例如下:

location.href = 'weixin://dl/business/?t= *TICKET*'


为了兼容苹果和安卓都能使用,我个人建议统一写成脚本执行跳转locataion.href=‘URL Scheme地址’,这可能会出现,有些浏览器会自动拦截脚本自动执行的内容,导致跳转H5页面不能马上调起跳转小程序,所以页面最好保留一个按钮,标明跳转失败可以点击此按钮跳转小程序。

到此已经可以在非微信环境浏览器打开微信小程序了,祝你代码好运没bug(注:企业微信也支持这种【URL Scheme】调起小程序)。

最后一次编辑于  2021-04-12  
点赞 6
收藏
评论

6 个评论

  • 如意
    如意
    2021-07-06

    我看到有人用https://m.jumpwx.com/已经实现了手机浏览器跳转到微信打开任意网址或者二维码,支持长按识别二维码添加微信好友或者关注微信公众号

    1、外部跳转微信打开任意站,公众号文章关注,和二维码长按识别 添加群或者好友解决方案

    2、这个地址支持非微信环境有效,而且支持大部分app方式i

    3、如果要在微信环境跳转需要使用专门的标签跳转,可以有后台控制端统计端去实现代码


    2021-07-06
    赞同 1
    回复
  • vicky粉
    vicky粉
    2021-06-29

    Scheme在ios的百度浏览器下为什么跳不过去

    2021-06-29
    赞同 1
    回复 1
    • Yansen
      Yansen
      2021-08-16
      怀疑是百度屏蔽
      2021-08-16
      回复
  • mamba
    mamba
    2021-06-12

    请问调起企业微信小程序的【URL Scheme】是什么格式的

    2021-06-12
    赞同 1
    回复 2
    • 哈罗哈皮
      哈罗哈皮
      2021-06-15
      这个你要去看下企业微信文档才行,我没试过企业微信的小程序
      2021-06-15
      2
      回复
    • mamba
      mamba
      2021-06-15回复哈罗哈皮
      目前看来暂时是不支持的,难搞
      2021-06-15
      回复
  • 哈罗哈皮
    哈罗哈皮
    2021-05-28

    如果想拼接参数可以在query里面写参数,格式:cardId=XXXXX

    获取参数可以和分享小程序一样获取即可。

    2021-05-28
    赞同 1
    回复 2
    • Steven Zhang💤
      Steven Zhang💤
      2021-06-04
      可以直接在小程序页面的onLoad方法通过options参数去这样取:options.cardId 么?
      2021-06-04
      回复
    • 哈罗哈皮
      哈罗哈皮
      2021-06-22回复Steven Zhang💤
      是的,可以这样获取
      2021-06-22
      回复
  • 多面体
    多面体
    2021-12-29

    h5 跳转小程序 把参数这样子传给小程序 options.site_id 接不到值呢


    2021-12-29
    赞同
    回复 1
    • 哈罗哈皮
      哈罗哈皮
      2022-01-18
      看文档,是生成小程序URL之前填写参数的,并不是生成地址加?拼接
      2022-01-18
      回复
  • 廾匸
    廾匸
    2021-04-28

    这个脚本怎么写 给个思路呗 谢谢

    2021-04-28
    赞同
    回复 9
    • 哈罗哈皮
      哈罗哈皮
      2021-04-28
      2021-04-28
      2
      回复
    • 廾匸
      廾匸
      2021-04-28回复哈罗哈皮
      我复制过去 把地址换了 跳不过去呢 您这测试了可以嘛? 大神
      2021-04-28
      回复
    • 哈罗哈皮
      哈罗哈皮
      2021-04-28回复廾匸
      你的URL Scheme有没有错误?或者设置有效期太短?
      2021-04-28
      回复
    • 廾匸
      廾匸
      2021-04-28回复哈罗哈皮
      <script type="text/javascript">
       /**
        * 自动跳转到手机页面
        *
        * @param
        * @arrange (512.笔记) jb51.cc
        **/
       //函数名为 runoob
        window.onload=function runoob(){
          //document.write("菜鸟教程 -- 学的不仅是技术,更是梦想!!!");
         //window.location ="https://www.baidu.com/";
        // alert("进来了");
        // location.href ="weixin://dl/business/?t=1rZ0BiEkQ4h";
         location.href ="weixin://dl/business/?t=1rZ0B";
        }

      </script>  这个方式 把 html  放在安卓版的微信下 可以跳转  但是 苹果的不行呢
      2021-04-28
      回复
    • 哈罗哈皮
      哈罗哈皮
      2021-04-28回复廾匸
      1、你需要页面给一个按钮,提示如果跳转失败点击跳转(因为有些浏览器会拦截你默认脚本,误以为是非法操作)
      2、这个地址不能在微信环境有效,需要在非微信环境使用。
      3、如果要在微信环境跳转需要使用专门的标签跳转。
      2021-04-28
      回复
    查看更多(4)
登录 后发表内容