百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

5个要点,避免踩坑小程序 避免踩坑什么意思

bigegpt 2024-10-18 04:16 49 浏览

小程序作为产品形态的一种,比App轻量、比Web网页简洁,但由于依赖微信生态,必须遵守微信生态的规则。作为产品经理,参与小程序产品迭代已有四个月,踩过不少坑;经历几次迭代,对小程序规则有了一定了解。希望在这里能够总结小程序这种产品形态,有哪些注意点。

毫无约束的自由往往无法创新,在一定规则内的自由才是真正的自由。而微信生态就是小程序必须遵守的规则,遵守微信的克制,五花八门的小程序一个个冒出头来,小程序成为追逐线上红利的绝佳土壤。

小程序的上线流程:

  1. 小程序开发:迭代流程和App产品相同,更加轻量化。要注意的是,每个小程序都有唯一的Appid和Appsecret,后者只有小程序管理员可查看。
  2. 开发版:将代码上传微信,可用于开发大佬测试效果。
  3. 体验版:可通过二维码分享体验,需要管理员为微信号添加体验权限。
  4. 线上版:将体验版提交微信审核,通过后即可上线正式版小程序,此时可在微信搜索到小程序,审核时间大约半天。

一、小程序一键更新

小程序的重启机制:小程序没有重启概念。

「热启动」小程序没有直接销毁,而是进入后台状态:

  • 点击右上角胶囊按钮关闭小程序;
  • Home键离开小程序。

「冷启动」小程序需重新加载启动:

  • 用户首次打开小程序;
  • 当小程序进入后台状态,超过一定时间(5分钟),被微信主动销毁后再次打开;
  • 收到系统内存告警,小程序主动销毁。

这样就会导致小程序版本更新后,如果客户端存在旧版本的缓存,那就不会自动升级到新版本,而是维持旧版本的功能;所以需要在版本更新后,前端强制应用新版本并重启。

第三方授权:作为小程序开发者,每次版本更新时都需要将代码包上传,并提交审核,比较麻烦。公司作为第三方开发者,例如有赞,可以支持一键授权功能——授权后的小程序能够实现有新版本时自动提交审核,通过接口将小程序提交审核并发布,这样对于同时管理开发多个小程序的第三方来讲,省时省力。

二、小程序跳转类型

1. H5

内部H5页面需要将链接配置为业务域名。好处是H5更新不需要审核,随时可部署。弊处是如果该H5用于多个小程序,那么页面会统一更新;外部H5页面,如微信商城等,需要将链接配置为业务域名,并下载校验文件,将校验文件添加至该域名的根目录下。业务域名规则为:每个小程序只能添加20个业务域名,一年只可修改50次业务域名。

2. 公众号文章

小程序支持通过<web-view>组件接口打开公众号文章,该公众号必须和小程序关联。

参考官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html?search-key=webview

3. 小程序

小程序和小程序之间可实现相互跳转,且无需关联同一公众号。需获得小程序的Appid及跳转路径,限制为每个小程序最多关联10个其他小程序。

参考官方文挡:https://developers.weixin.qq.com/miniprogram/dev/api/wx.navigateToMiniProgram.html

三、推送微信服务通知

需要对用户发送服务通知(如评价提醒、预约成功)时,可以用特定的内容模版,主动向客户发送消息,不支持广告等营销类消息。

模版内容:可自定义模版消息,不允许红包、优惠、活动通知等营销类内容。标题须以“通知”或“提醒”结尾,模版消息需要审核,模版添加成功后,即可通过接口调用模版ID。

  • 只有在用户触发某种行为后,才能主动下发消息给用户,期限为7天;不允许在用户没做任何操作或未经用户同意接收的前提下,主动下发消息给用户;
  • 模板消息可以在模板库中选择,可以申请添加,一个月可以申请三条;
  • 如需跳转到小程序,只能有一个跳转入口,模版中固定有拒收通知选项。

参考官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433751288

四、接入微信支付

接入微信支付前,需开通微信支付且绑定微信商户平台,注意微信系统分为:

  • 微信商户平台
  • 微信开放平台(App支付)
  • 微信公众平台:订阅号、服务号、小程序

根据商户类型不同,To B类的支付手续费不同,一般为千分之六。

退款是否收取手续费?——不收取

提现是否收取手续费?——不收取

注册商户平台时的注意点:

1. 企业付款到零钱

当用户发起提现或退款操作时,从企业的微信支付商户账户中,支付对应金额至用户的零钱账户。不是所有的商户都有这个功能,开通要求为:选择结算周期为“非T+0”商户类目,否则需要满足两个条件:入驻满 90 天,连续正常交易 30 天。

2. 自动结算

当结算周期到了,微信支付会将商户号里面的未结算金额自动划走,至商户号绑定的银行账户上面,并且收取约定的费率。问题是——当需要退款给用户的时候,会发现账户上的钱全部被结算到银行卡上,没有钱退款给用户,此时就需要关闭自动结算。然而,也不是所有商户都有这个功能,要求:选择结算周期为“T+0”商户类目。

3. 小程序与商户号绑定

小程序一旦绑定微信支付商户号,就没办法解绑,也就是没有入口进行更换绑定的商户号。

绑定方式有:

  1. 利用现有小程序作为申请入口,申请一个新的微信支付;
  2. 绑定已有的微信支付商户号。推荐不同的业务最好分开结算,这样便于财务进行对账。如有需要,可以绑定能关闭自动结算的微信支付商户号,能省去许多麻烦。

参考官方文档:http://kf.qq.com/product/wechatpaymentmerchant.html#hid=hotfaq

五、通用注意点

标准:

  • 小程序顶部导航栏标题:iOS居中,安卓居左;
  • 有关注公众号入口(在右上角选择相关公众号可见);
  • 可以用腾讯地图定位;
  • 安卓的小程序能放在桌面,iOS不能;
  • 客服不能支持同时回复文字和图片,支持图文消息。

限制点:

  • 小程序不能长按扫码识别;
  • iOS 系统下,小程序不支持虚拟支付(VIP会员、充值、录制课程);
  • 不能朋友圈;
  • 小程序代码包不超过2M;
  • 获取用户的微信头像、昵称、电话等信息,需用户同意。

六、小结

根据2018年微信公开课上公布的数据:小程序日活已达到1.7亿,已上线58万个小程序,企业和个人开发者超过100万。

小程序开发门槛较低,有经验的开发甚至可以一晚上迅速孵化出热点小程序。因此,小程序生态愈加活跃,对于以上小程序迭代中的坑也好、规则也好,产品经理能够在需求阶段了解清除,能够有效的提升效率,避免延缓迭代进度。

本文由 @Yanssie 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash, 基于CC0协议

相关推荐

Java 泛型大揭秘:类型参数、通配符与最佳实践

引言在编程世界中,代码的可重用性和可维护性是至关重要的。为了实现这些目标,Java5引入了一种名为泛型(Generics)的强大功能。本文将详细介绍Java泛型的概念、优势和局限性,以及如何在...

K8s 的标签与选择器:流畅运维的秘诀

在Kubernetes的世界里,**标签(Label)和选择器(Selector)**并不是最炫酷的技术,但却是贯穿整个集群管理与运维流程的核心机制。正是它们让复杂的资源调度、查询、自动化运维变得...

哈希Hash算法:原理、应用(哈希算法 知乎)

原作者:Linux教程,原文地址:「链接」什么是哈希算法?哈希算法(HashAlgorithm),又称为散列算法或杂凑算法,是一种将任意长度的数据输入转换为固定长度输出值的数学函数。其输出结果通常被...

C#学习:基于LLM的简历评估程序(c# 简历)

前言在pocketflow的例子中看到了一个基于LLM的简历评估程序的例子,感觉还挺好玩的,为了练习一下C#,我最近使用C#重写了一个。准备不同的简历:image-20250528183949844查...

55顺位,砍41+14+3!季后赛也成得分王,难道他也是一名球星?

雷霆队最不可思议的新星:一个55号秀的疯狂逆袭!你是不是也觉得NBA最底层的55号秀,就只能当饮水机管理员?今年的55号秀阿龙·威金斯恐怕要打破你的认知了!常规赛阶段,这位二轮秀就像开了窍的天才,直接...

5分钟读懂C#字典对象(c# 字典获取值)

什么是字典对象在C#中,使用Dictionary类来管理由键值对组成的集合,这类集合被称为字典。字典最大的特点就是能够根据键来快速查找集合中的值,其键的定义不能重复,具有唯一性,相当于数组索引值,字典...

c#窗体传值(c# 跨窗体传递数据)

在WinForm编程中我们经常需要进行俩个窗体间的传值。下面我给出了两种方法,来实现传值一、在输入数据的界面中定义一个属性,供接受数据的窗体使用1、子窗体usingSystem;usingSyst...

C#入门篇章—委托(c#委托的理解)

C#委托1.委托的定义和使用委托的作用:如果要把方法作为函数来进行传递的话,就要用到委托。委托是一个类型,这个类型可以赋值一个方法的引用。C#的委托通过delegate关键字来声明。声明委托的...

C#.NET in、out、ref详解(c#.net framework)

简介在C#中,in、ref和out是用于修改方法参数传递方式的关键字,它们决定了参数是按值传递还是按引用传递,以及参数是否必须在传递前初始化。基本语义对比修饰符传递方式可读写性必须初始化调用...

C#广义表(广义表headtail)

在C#中,广义表(GeneralizedList)是一种特殊的数据结构,它是线性表的推广。广义表可以包含单个元素(称为原子),也可以包含另一个广义表(称为子表)。以下是一个简单的C#广义表示例代...

「C#.NET 拾遗补漏」04:你必须知道的反射

阅读本文大概需要3分钟。通常,反射用于动态获取对象的类型、属性和方法等信息。今天带你玩转反射,来汇总一下反射的各种常见操作,捡漏看看有没有你不知道的。获取类型的成员Type类的GetMembe...

C#启动外部程序的问题(c#怎么启动)

IT&OT的深度融合是智能制造的基石。本公众号将聚焦于PLC编程与上位机开发。除理论知识外,也会结合我们团队在开发过程中遇到的具体问题介绍一些项目经验。在使用C#开发上位机时,有时会需要启动外部的一些...

全网最狠C#面试拷问:这20道题没答出来,别说你懂.NET!

在竞争激烈的C#开发岗位求职过程中,面试是必经的一道关卡。而一场高质量的面试,不仅能筛选出真正掌握C#和.NET技术精髓的人才,也能让求职者对自身技术水平有更清晰的认知。今天,就为大家精心准备了20道...

C#匿名方法(c#匿名方法与匿名类)

C#中的匿名方法是一种没有名称只有主体的方法,它提供了一种传递代码块作为委托参数的技术。以下是关于C#匿名方法的一些重要特点和用法:特点省略参数列表:使用匿名方法可省略参数列表,这意味着匿名方法...

C# Windows窗体(.Net Framework)知识总结

Windows窗体可大致分为Form窗体和MDI窗体,Form窗体没什么好细说的,知识点总结都在思维导图里面了,下文将围绕MDI窗体来讲述。MDI(MultipleDocumentInterfac...