在创业团队中,一个重要的原则是能省就省,该花就花,把银子用在刀刃上。
现在的app,为了获取用户的社交关系,需要用户的手机号注册。用手机号注册就涉及到一个发送短信验证码的问题,那怎么才能在短信服务上投入最少的成本获得最大的收益?
短信服务主要考虑下面2个方面:
1.发短信不便宜啊,发送一条短信的价格在5分钱-8分钱之间。
2.考虑短信的到达率和延时。
之前我的手机经常收到各种乱七八糟的短信,例如,发票啊,个人贷款等。在2013年年底,3大运营商终于整顿短信,那时一大批小的短信平台倒了,我们使用的哪个短信平台也收到很大的影响,发送到移动,联通的短信没啥问题,但发送到电信的短信,居然延迟了2个小时!!!
为了解决这个问题,我试了不下5家短信平台,后来觉得ucloud的监控短信到达率非常高,还把ucloud的发送短信的python sdk改写成php sdk。用了一段时间的ucloud的短信后到达率变低了,又找了一家很贵的短信平台,好像是8分钱一条短信。
记得在那个时期,我的一个朋友吐糟,他实在找不到可靠的短信平台,就干脆把短信验证码这块去掉,用户随便输入手机号都能注册。
现在的短信平台都有一个试用的额度,在这里:apistore.baidu.com/astore/classificationservicelist/39.html列举了一些短信平台,大家选择一家试用一下短信服务。
记住,一定要亲自试用,别人推荐的平台,可能只有那时靠谱,过后就难说了。
首先声明,我和sharesdk没有任何关系,如果硬要有点关系,就是sharesdk的办公地点曾经在我工作的公司的隔壁。
现在sharesdk提供了免费的短信验证码服务(mob.com/sms),试运营期间为开发者提供每个App每天10000条免费短信验证。
大家算一下,按最便宜的每条短信5分钱,一天免费发10000条就能节省500块,一个月就能节省15000元。
但我咨询过客服,这个试运营期间是什么时候结束,她也没有明确的答复,只能关注官网的通知。
因此,在享用这个免费服务的同时,我们要做好准备,如果有一天,sharesdk的短信服务不靠谱了,就要把它换掉。
但sharesdk发送短信是通过app端的sdk包,如果app已经发布出去了,怎么更换这个短信服务呢?
这里提供两重解决方案:
第一重解决方案:服务端要有发送短信的api,当需要替换sharesdk发送短信功能时,就调用这个api发送短信。每次app端发送短信的时候,必须要有一个判断,如果通过sharesdk发送短信超时或返回的状态码不正确,就调用服务端的发送短信api。
在上面的解决方案,是app每次发短信都要做判断,怎么才能不需要每次判断,也能让已经发布出去的app自由选择使用哪种方式发短信:通过服务端api,或者sharesdk发送短信sdk?
还记得在《14.app后端如何设计api》中提到,“(8)在app启动时,调用一个初始化api获取必要的信息”?
第二重解决方案:在这个api中返回一个参数控制app端选择使用哪种方式发送短信。
---------------------------------------------------------------------------------------------------------------------------
打开链接 app后端系列文章总目录 总目录 ,能查看本人发表过的所有原创“app后端”文章。
【作者】曾健生
原文地址:http://blog.csdn.net/newjueqi/article/details/44341315