避免小程序开发中的五个常见陷阱

发表时间: 2019-04-18 11:01

小程序作为产品形态的一种,比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协议