博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
短信验证码SDK
阅读量:4974 次
发布时间:2019-06-12

本文共 1976 字,大约阅读时间需要 6 分钟。

短信SDK平台

开发应用中,注册登录流程中需要用到短信验证SDK,所以对第三方短信验证码服务平台做了一下调研。

短信验证码的作用:

  1. 确定手机号的真实性
  2. 防止大规模恶意注册

短信验证码的工作流程

old%20.png

该流程中,SDK与MOB的服务器有两次交互过程

  1. 手机app请求MOB服务器发送验证码,参数为phoneNumber
  2. 接收到验证码短信之后,手机app向MOB服务器回传(phoneNumber,varifyCode)以验证其正确性。

所找到的两个提供短信验证码服务的SDK分别是:

  1. MOB :http://mob.com/#/index
  2. 聚合数据:https://www.juhe.cn/

两者都下载下来demo和SDK进行测试过.

聚合数据的SDK包含了很多服务,短信验证码只是其中一种。,接口数据一大堆,从一个角度看,可定制性强,但从实际使用看,极其简单的一个短信验证码功能,作为用户,我希望我所提供的输入就是一个String phoneNumber,其他的东西那都是你的实现细节。我不需要关心。Mob做到了这样简单,所以好用些。


MOB

这个sdk使用起来相当简单,

//短信回调事件,处理获取验证码和验证反馈事件    EventHandler eventHandler = new EventHandler() {        @Override        public void afterEvent(int event, int result, Object data) {            if (result != SMSSDK.RESULT_COMPLETE) {                Log.v("cc", "连接短信验证码服务器失败");                ((Throwable) data).printStackTrace();                return;            }            //回调完成            if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {                //验证码验证成功,服务器的反馈事件                Log.v("cc", "验证成功");                register();            } else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE) {                //手机请求验证码,服务器在发送验证码之后,给与的网络反馈                Log.v("cc", "已经发送验证码");            }        }    };

这个EventHandler是SDK注册过程的回调接口,其中分别有对各个验证状态和过程的响应状态。需要稍微吐槽一下的是,仅仅去看状态名是很难直接认识到这个状态所对应的是哪个功能的,官方的文档也没有说清楚,还是要通过下载demo去看代码测试,才能明白其中的细节。好在SDK本身做的极其简单。

初始化SMSSDK:两个参数分别是自己的app所对应的两个参数,需要去网站申请。

SMSSDK.initSDK(RegisterActivity.this, "a01257a383f0", "*********************");

注册SDK回调

SMSSDK.registerEventHandler(eventHandler); //注册短信回调

请求验证码

SMSSDK.getVerificationCode("86", mUserName);

回传验证码以确定输入的验证码是否正确

SMSSDK.submitVerificationCode("86", mUserName, varifyCode);

在使用过程中,程序一开始先初始化SMSSDK,然后初始化EventHandler(),egisterEventHandler(), 请求验证码和回传验证码方法根据业务逻辑放到合适的地方去就可以了,发送后的事件都在EventHandler里相应的状态中处理。总的来看,MOB SDK在使用的过程中没有遇到什么困惑。开发者友好型SDK。

(另一个槽点是,官网没有对Android Studio的使用教程,一个下载包里面有一个教程,但是官网上是看不到的,对于用AS的用户有一定的干扰)

资费问题

测试期间,每天200条免费

上线之后,每天10000条免费
多的需要充值。

转载于:https://www.cnblogs.com/weilf/p/4781227.html

你可能感兴趣的文章
LeetCode 题解之Add Digits
查看>>
hdu1502 , Regular Words, dp,高精度加法
查看>>
20120227_CET6
查看>>
SpringBoot在idea中的热部署配置
查看>>
MyEclipse连接SQL Server 2008数据库的操作方法
查看>>
leetcode【67】-Bulb Switcher
查看>>
JS验证图片格式和大小并预览
查看>>
laravel5.2 移植到新服务器上除了“/”路由 ,其它路由对应的页面显示报404错误(Object not found!)———新装的LAMP没有加载Rewrite模块...
查看>>
编写高质量代码--改善python程序的建议(六)
查看>>
windows xp 中的administrator帐户不在用户登录内怎么解决?
查看>>
接口和抽象类有什么区别
查看>>
Codeforces Round #206 (Div. 2)
查看>>
**p
查看>>
优先队列详解
查看>>
VS2012 创建项目失败,,提示为找到约束。。。。
查看>>
设计类图
查看>>
类对象
查看>>
[Voice communications] 声音的滤波
查看>>
SQL语言之概述(一)
查看>>
软件建模——第9章 毕业论文管理系统—面向对象方法
查看>>