在创业团队中,一个重要的原则是能省就省,该花就花,把银子用在刀刃上。

现在的app,为了获取用户的社交关系,需要用户的手机号注册。用手机号注册就涉及到一个发送短信验证码的问题,那怎么才能在短信服务上投入最少的成本获得最大的收益?

1.    选择什么短信平台?

短信服务主要考虑下面2个方面:

1.发短信不便宜啊,发送一条短信的价格在5分钱-8分钱之间。

2.考虑短信的到达率和延时。

之前我的手机经常收到各种乱七八糟的短信,例如,发票啊,个人贷款等。在2013年年底,3大运营商终于整顿短信,那时一大批小的短信平台倒了,我们使用的哪个短信平台也收到很大的影响,发送到移动,联通的短信没啥问题,但发送到电信的短信,居然延迟了2个小时!!!

为了解决这个问题,我试了不下5家短信平台,后来觉得ucloud的监控短信到达率非常高,还把ucloud的发送短信的python sdk改写成php sdk。用了一段时间的ucloud的短信后到达率变低了,又找了一家很贵的短信平台,好像是8分钱一条短信。

记得在那个时期,我的一个朋友吐糟,他实在找不到可靠的短信平台,就干脆把短信验证码这块去掉,用户随便输入手机号都能注册。

现在的短信平台都有一个试用的额度,在这里:apistore.baidu.com/astore/classificationservicelist/39.html列举了一些短信平台,大家选择一家试用一下短信服务。

记住,一定要亲自试用,别人推荐的平台,可能只有那时靠谱,过后就难说了。

2.    如何发送短信最节省成本?

首先声明,我和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后端”文章。

【作者】曾健生

【QQ】190678908

【app后端qq群】254659220 

【微信公众号】 appbackend

【新浪微博】 @newjueqi

【博客】http://blog.csdn.net/newjueqi

版权声明:本文为博主原创文章,未经博主允许不得转载。

最新文章

  1. ACM/ICPC 之 机器调度-匈牙利算法解最小点覆盖集(DFS)(POJ1325)
  2. HTML案例—很讨巧的一种js+css制作hover模式展示二级菜单方法
  3. 安装学习nginx记录
  4. asp 使用TreeView控件
  5. Zookeeper C API 指南三(回调函数)(转)
  6. 【poj1020】 Anniversary Cake
  7. 分布式消息队列RocketMQ部署
  8. CF #374 (Div. 2) C. Journey dp
  9. SpringMVC表单标签简介
  10. python leetcode 日记--231. Power of Two
  11. LUCAS 定理
  12. 【NO.7】HTTP请求-参数化
  13. Git 版本还原命令
  14. HDU 6433(2的n次方 **)
  15. [Java in NetBeans] Lesson 16. Exceptions.
  16. QT 用listveiw显示图片
  17. ip定位
  18. 【Algorithm】堆排序
  19. 在ASP.NET Core 2.x中获取客户端IP地址
  20. 高可用Kubernetes集群-7. 部署kube-controller-manager

热门文章

  1. obj-c在Xcode之外如何使用@import关键字
  2. kubernetes-dashboard(1.8.3)部署与踩坑
  3. 掌握 Java 泛型类型(一)
  4. JQuery DOM操作 、属性和CSS样式操作、其他函数
  5. ffmpeg 时间戳处理
  6. App上线Check List
  7. Vim PHP环境设置文章
  8. 第一次作业 orm环境构建(hibernate)及基本的demo
  9. Scala编程入门---函数过程,Lazy值和异常
  10. 学习JavaScript最佳实践方法