zoukankan      html  css  js  c++  java
  • 短信验证码SDK

    短信SDK平台

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

    短信验证码的作用:

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

    短信验证码的工作流程


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


    MOB

    MOB短信SDK集成文档
    这个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条免费
    多的需要充值。

  • 相关阅读:
    sum left join 多次引发的问题
    WPF之Binding基础三 Binding的路径Path
    解决Android Studio启动不了的办法
    指向常量的指针和常量指针的区别简单理解
    简单的字符串操作
    QT问答
    log4qt使用示例
    在线代码库
    Qt5的windows开放环境准备
    QT 调试技术
  • 原文地址:https://www.cnblogs.com/weilf/p/4781227.html
Copyright © 2011-2022 走看看