19.最省钱的app发短信方法

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

现在的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

时间: 2024-10-06 08:07:23

19.最省钱的app发短信方法的相关文章

19.最经济app发短信的方法

在创业团队.一个重要的原则是能省就省,该花的花,明智地使用金钱. 今的app,为了获取用户的社交关系.须要用户的手机号注冊. 用手机号注冊就涉及到一个发送短信验证码的问题,那怎么才干在短信服务上投入最少的成本获得最大的收益? 1.    选择什么短信平台? 短信服务主要考虑以下2个方面: 1.发短信不廉价啊,发送一条短信的价格在5分钱-8分钱之间. 2.考虑短信的到达率和延时. 之前我的手机常常收到各种乱七八糟的短信.比如,发票啊.个人贷款等.在2013年年底,3大运营商最终整顿短信,那时一大批

APP拨打电话&发短信&发邮件

在移动开发中我们会经常需要调用手机的拨打电话功能.发短信功能和发邮件功能,以下是我总结的方法: //1.打电话 //方法1 最常用方法 NSURL *telUrl = [NSURL URLWithString:"tel://13161906451"]; UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectZero]; [webView loadRequest:[NSURLRequest requestWithURL:t

iOS中打电话、打开网址、发邮件、发短信等

常用小功能 小功能简介 iOS中的很多小功能都是非常简单的,几行代码就搞定了,比如打电话.打开网址.发邮件.发短信等 打电话-方法1 最简单最直接的方式:直接跳到拨号界面 NSURL *url = [NSURL URLWithString:@"tel://10010"]; [[UIApplication sharedApplication] openURL:url]; 缺点 电话打完后,不会自动回到原应用,直接停留在通话记录界面 打电话-方法2 拨号之前会弹框询问用户是否拨号,拨完后能

iOS 打电话、发短信、发邮件功能

打电话 方法1 最简单最直接的方式:直接跳到拨号界面 NSURL *url = [NSURL URLWithString:@"tel://10010"]; [[UIApplication sharedApplication] openURL:url]; 缺点:电话打完后,不会自动回到原应用,直接停留在通话记录界面 方法2 拨号之前会弹框询问用户是否拨号,拨完后能自动回到原应用 NSURL *url = [NSURL URLWithString:@"telprompt://10

猫猫学iOS(四十五)之常用的小功能比如打电话、打开网址、发邮件、发短信打开其他应用。

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 简介 iOS中的很多小功能都是非常简单的,几行代码就搞定了,比如打电话.打开网址.发邮件.发短信.打开其他应用等. 打电话 方法1 最简单最直接的方式:直接跳到拨号界面 NSURL *url = [NSURL URLWithString:@"tel://10010"]; [[UIApplication sharedA

打电话,发短信,发邮件,app跳转

1.打电话 - (IBAction)callPhone1:(id)sender { NSURL *url = [NSURL URLWithString:@"tel://18500441739"]; [[UIApplication sharedApplication] openURL:url]; } - (IBAction)callPhone2:(id)sender { NSURL *url = [NSURL URLWithString:@"telprompt://185004

代码控制打电话、发短信、发邮件、打开手机app等操作

很多时候我们需要利用我门自己的app进行一些打电话.发短信等的操作,那么如何利用代码实现呢,下面就介绍一些简单的方法来实现这些操作. 打电话: <1>最简单.最直接的方法----直接跳转到拨号界面 NSURL *url = [NSURL URLWithString:@"tel://10010"]; [[UIApplication sharedApplication] openURL:url]; 缺点:打完电话后,不能跳回到原来的应用,而是直接停留在通话记录界面.      

利用阿里大于接口发短信(Delphi版)

阿里大于是阿里通信旗下产品,融合了三大运营商的通信能力,提供包括短信.语音.流量直充.私密专线.店铺手机号等个性化服务.每条四毛五,价钱还算公道,经老农测试,响应速度非常快,基本上是秒到.官方文档提供了以下语言的 Demo JAVA .NET PHP Python CURL C/C++ NodeJS 唯独没有 Dephi,这不能怪马云,毕竟 Delphi 实在太小众了. 最近用 Delphi 写个 App,注册用户需要用到手机短信验证,于是找到的阿里大于,使用 Delphi 10.1 berli

调用系统的打电话,发短信,邮件,蓝牙

在开发某些应用时可能希望能够调用iOS系统内置的电话.短信.邮件.浏览器应用,此时你可以直接使用UIApplication的OpenURL:方法指定特定的协议来打开不同的系统应用.常用的协议如下: 打电话:tel:或者tel://.telprompt:或telprompt://(拨打电话前有提示) 发短信:sms:或者sms:// 发送邮件:mailto:或者mailto:// 启动浏览器:http:或者http:// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16