开发背景
省钱,保活、高大上。
环境准备
- 申请公众号;
- 开通微信认证(300元/年);
- 申请微信开放平台;
- 购买一个域名并备案(100元左右/3年);
- 购买一台服务器并将域名解析到服务器上来(299元/3年);
实现原理
- 用户下载app并使用微信登录,获取微信openid;
- 将openid、手机号、设备IMEI、以及用户信息post到后台进行保存;
- 当触发消息推送时(如设备报警),根据openid向指定用户推送相关信息;
实践中的坑
一、申请公众号
一开始没注意看,直接将公众号申请成订阅号去了,进去才发现怎么也找不到模版消息,二个是也没办法进行微信认证;
解决:从新申请服务号;
二、开通微信认证
上传营业执照时要选择工商营业**(有点忘了),一开始选择三证合一,审核不通过;二个是会收到腾讯这边往公账上打个0.01元,然后接到工作人员电话时会问这笔钱是多少,什么时间等,需要提前看一下;
由于上面两个问题我已经错了两次,工作人员会提示说如果再错将需要重新提交申请,意思是重新交300块钱的认证费,重新认证;
三、申请微信开发者帐号
进入微信开放平台进行账户申请时,换哪个邮箱都提示已经被使用了,但是用来找回密码时又提示没有注册过。
最后各种社区里面了解到,这个邮箱必须是没有绑定腾讯任何一个产品的才行。
解决:建议解绑重新申请,我的解决方法是我直接不用了,转用网页授权模式进行获取openid;
四、获取openid(代码传送门)
由于申请不了微信开放平台帐号,所以只能用网页授权模式进行获取openid,到这里就已经掉入大坑了,一大推文档,也不知道哪里是哪里,只能一步步的来试;
首先是获取code时需要一个appid和redirect_uri回调地址,这个appid倒是很容易看出来在 (开发》基本配置》公众号开发信息) 里可以设置。可是这个回调地址就让我冒火了,这下面还有一个服务器配置,一直以为这个就是回调地址配置的地方,弄了一早上都是token认证失败(主要是在官网找相关说明文档);
实在在官网找不到相关解决办法了就开始问度娘,还好有万能的网友分享出了解决办法,这TM的压根不是在这里配置啊,具体在哪里的看下图。
从这里去把业务域名、JS接口安全域名、网页授权域名都给配置上,这个问题才算是了解;
六、消息模版推送
要说前面获取openid的接口说明文档太多太散了,那模版消息推送接口倒是简洁了好多,简洁到我又得重新翻了一遍所有的文档才发现此ACCESS_TOKEN北非彼ACCESS_TOKEN;
直接用网页授权获取到的ACCESS_TOKEN进行模板消息推送请求会报40001的错误;
那么具体ACCESS_TOKEN又是哪个呢?看这里应该是我眼见放皮包里了,前面这懵逼还挺有后劲,到这里了都还没有醒过来;
七、对于酒量不行的人来说懵逼也有后劲
到这里原以为万事俱备了,没想到一上代码发现这股懵逼劲既然还在。那么具体在哪里呢?在于咱没有添加IP白名单,这玩意一旦掌握不好也可以让你后劲无穷,下面看看具体哪里设置吧。
放在结尾
失败不是成功他妈,顶多算是他前女友,最后我们来算一笔账,这个公众号消息推送他到底划不划算。
花费项目 | 花费金额/元 | 项目时长/年 |
---|---|---|
微信认证 | 300 | 1 |
域名 | 100 | 3 |
服务器 | 299 | 3 |
总计 | 1299 | 3 |
从账面上来看还是比较划算的,毕竟现在的第三方推送都不太便宜啊,希望能对有相关需求的你有所帮助,我撤了。