jjzjj

微信小程序链接快速生成方法

北漂燕郊杨哥 2023-04-05 原文

文章目录


前言

微信官方更新了链接跳转微信小程序的功能,在点击链接后即可直接跳转到小程序页面。更新后的跳转则更加直接,缩短了转化路径,有效提升点击转化率,对于小程序运营人员来说,无疑是一大福利,但如何生成微信小程序链接呢?


一、如何生成微信小程序链接?

微信小程序链接原来可以在小程序管理平台的工具菜单里手工生成,在2022.4.11号后,这个功能被微信官网删除了

现在生成微信小程序的链接只有通过微信官方提供的接口文档,自已动手生成微信小程序链接

二、生成微信小程序链接步骤

1.获取 URL Scheme

自 2022 年 4 月 11 日起,URL Scheme有效期最长 30 天,不再支持永久有效的URL Scheme、不再区分短期有效URL Scheme与长期有效URL Scheme。若在微信外打开,用户可以在浏览器页面点击进入小程序。每个独立的URL Scheme被用户访问后,仅此用户可以再次访问并打开对应小程序,其他用户无法再次通过相同URL Scheme打开该小程序。 在本次规则调整生效前已经生成的URL Scheme,如果有效期超过30天或长期会被降级为30天有效,只能被1个用户访问,开始时间从调整日期开始计算
通过服务端接口可以获取打开小程序任意页面的 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 时立即调用,也可以在用户触发事件后调用。每天生成 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

自 2022 年 4 月 11 日起,URL Link有效期最长 30 天,不再支持永久有效的URL Link、不再区分短期有效URL Link与长期有效URL Link。若在微信外打开,用户可以在浏览器页面点击进入小程序。每个独立的URL Link被用户访问后,仅此用户可以再次访问并打开对应小程序,其他用户无法再次通过相同URL Link打开该小程序。 在本次规则调整生效前已经生成的URL Link,如果有效期超过30天或长期会被降级为30天有效,只能被1个用户访问,开始时间从调整日期开始计算。

通过服务端接口可以获取打开小程序任意页面的 URL Link。适用于从短信、邮件、网页、微信内等场景打开小程序。 通过 URL Link 从微信外打开小程序的场景值为 1194。当用户在微信内访问 URL Link ,会调整为开放标签打开小程序,场景值为1167。
生成的 URL Link 如下所示:

https://wxaurl.cn/*TICKET* 或 https://wxmpurl.cn/*TICKET*

每天生成 URL Link 总数量上限为50万,只能生成已发布的小程序的 URL Link。在微信内或者安卓手机打开 URL Link 时,默认会先跳转官方 H5 中间页,如果需要定制 H5 内容,可以使用云开发静态网站。

URL LINK 接口文档
https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/url-link/urllink.generate.html

//获取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 天有效期限制,且允许多个用户访问。


总结

微信小程序链接生成后,极大的方便了小程序的分亨、推广、营销,根据本文介绍和微信官方的接口文档可以快速生成跳转小程序链接。

有关微信小程序链接快速生成方法的更多相关文章

  1. ruby-on-rails - Ruby url 到 html 链接转换 - 2

    我正在使用Rails构建一个简单的聊天应用程序。当用户输入url时,我希望将其输出为html链接(即“url”)。我想知道在Ruby中是否有任何库或众所周知的方法可以做到这一点。如果没有,我有一些不错的正则表达式示例代码可以使用... 最佳答案 查看auto_linkRails提供的辅助方法。这会将所有URL和电子邮件地址变成可点击的链接(htmlanchor标记)。这是文档中的代码示例。auto_link("Gotohttp://www.rubyonrails.organdsayhellotodavid@loudthinking.

  2. ruby-on-rails - Prawn - 表格单元格内的链接 - 2

    我正在尝试用Prawn生成PDF。在我的PDF模板中,我有带单元格的表格。在其中一个单元格中,我有一个电子邮件地址:cell_email=pdf.make_cell(:content=>booking.user_email,:border_width=>0)我想让电子邮件链接到“mailto”链接。我知道我可以这样链接:pdf.formatted_text([{:text=>booking.user_email,:link=>"mailto:#{booking.user_email}"}])但是将这两行组合起来(将格式化文本作为内容)不起作用:cell_email=pdf.make_c

  3. 微信小程序通过字典表匹配对应数据 - 2

    前言一般来说,前端根据后台返回code码展示对应内容只需要在前台判断code值展示对应的内容即可,但要是匹配的code码比较多或者多个页面用到时,为了便于后期维护,后台就会使用字典表让前端匹配,下面我将在微信小程序中通过wxs的方法实现这个操作。为什么要使用wxs?{{method(a,b)}}可以看到,上述代码是一个调用方法传值的操作,在vue中很常见,多用于数据之间的转换,但由于微信小程序诸多限制的原因,你并不能优雅的这样操作,可能有人会说,为什么不用if判断实现呢?但是if判断的局限性在于如果存在数据量过大时,大量重复性操作和if判断会让你的代码显得异常冗余。wxswxs相当于是一个独立

  4. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  5. 微信小程序开发入门与实战(Behaviors使用) - 2

    @作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors    1、什么是behaviors    2、behaviors的工作方式    3、创建behavior    4、导入并使用behavior    5、behavior中所有可用的节点    6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors    1、什么是behaviorsbehaviors是小程序中,用于实现

  6. ruby - 使用 Watir 检查错误链接 - 2

    我有一个未排序的链接列表,我将其保存在旁边,我想单击每个链接并确保它转到真实页面而不是404、500等。问题是我不知道该怎么做。是否有一些我可以检查的对象会给我http状态代码或任何东西?mylinks=Browser.ul(:id,'my_ul_id').linksmylinks.eachdo|link|link.click#needtocheckfora200statusorsomethinghere!how?Browser.backend 最佳答案 我的回答与铁皮人的想法类似。require'net/http'require'

  7. ruby - 如何为 pbcopy 生成富文本链接 - 2

    我一直在玩一个脚本,它在Chrome中获取选定的文本并在Google中查找它,提供四个最佳选择,然后粘贴相关链接。它以不同的格式粘贴,具体取决于当前在Chrome中打开的页面-DokuWiki打开的DokuWiki格式,普通网站的HTML,我想要我的WordPress所见即所得编辑器的富文本。我尝试使用pbpaste-Preferrtf来查看没有其他样式的富文本链接在粘贴板上的样子,但它仍然输出纯文本。在文本编辑中保存文件并进行试验后,我想出了以下内容text=%q|{\rtf1{\field{\*\fldinst{HYPERLINK"URL"}}{\fldrsltTEXT}}}|te

  8. ruby-on-rails - 如何从按钮或链接单击的 View 调用 Rails 方法 - 2

    基本上,我试图在用户单击链接(或按钮或某种类型的交互元素)时执行Rails方法。我试着把它放在View中:但这似乎没有用。它最终只是在用户甚至没有点击“添加”链接的情况下调用该函数。我也用link_to试过了,但也没用。我开始认为没有一种干净的方法可以做到这一点。无论如何,感谢您的帮助。附言。我在ApplicationController中定义了该方法,它是一个辅助方法。 最佳答案 View和Controller是相互独立的。为了使链接在Controller内执行函数调用,您需要对应用程序中的端点执行ajax调用。该路由应调用rub

  9. ruby - 在 Mechanize 中使用 JavaScript 单击链接 - 2

    我有这个:AccountSummary我想单击该链接,但在使用link_to时出现错误。我试过:bot.click(page.link_with(:href=>/menu_home/))bot.click(page.link_with(:class=>'top_level_active'))bot.click(page.link_with(:href=>/AccountSummary/))我得到的错误是:NoMethodError:nil:NilClass的未定义方法“[]” 最佳答案 那是一个javascript链接。Mechan

  10. ruby - 使用指向 ruby​​ 可执行文件的符号链接(symbolic link)时查找相关库 - 2

    假设您有一个可执行文件foo.rb,其库bar.rb的布局如下:/bin/foo.rb/lib/bar.rb在foo.rb的header中放置以下要求以在bar.rb中引入功能:requireFile.dirname(__FILE__)+"../lib/bar.rb"只要对foo.rb的所有调用都是直接的,这就可以正常工作。如果你把$HOME/project和符号链接(symboliclink)foo.rb放入$HOME/usr/bin,然后__FILE__解析为$HOME/usr/bin/foo.rb,因此无法找到bar.rb关于foo.rb的目录名.我意识到像ruby​​gems这

随机推荐