情诗网 >情话短信 > 正文

mob短信登录(Android)

来源:情诗网    2021-01-18    分类:情话短信

短信.jpg

短信验证(Android)

介绍


什么是短信验证:
    短信验证是企业给消费者(用户)的一个凭证,通过短信内容的码来验证身份。
短信验证的用处:
    在现如今人手好几只手机,至少一张sim卡的情况下,使用短信验证来确定用户的身份变得高效和准确,较少了很多的非法访问的情况。
    手机app注册或者登录用户的时候,手机号作为登录的账户也变得越来越广泛了。
短信平台的诞生:
    如何实现短信登录呢,自己写服务器,沟通短信服务商,会非常忙的。因此,就出现了很多的辅助平台,例如bmob 、mob等。可以使得引用开发得到便利,当然这些平台总是需要利益驱使的。
短信验证的流程:
    如下是mob的一张图:

短信流程.png

主要可以分下面四步:
1) 手机请求短信验证服务器
2) 短信验证服务器请求短信服务商发出短信
3) 手机接收到短信,将验证码请求验证服务器
4) 验证服务器返回验证结果

集成环境

    接下来使用mob作为短信验证平台来实现短信验证。
注册mob开发者账户
    官网(http://sms.mob.com/)注册一波就好了,简单操作。
创建一个应用

创建应用

写一个应用的名称就可以,暂时不需要其他信息。
    在设置里面查看创建应用的AppKey和App Secret ,访问服务器需要用到的两个验证应用的码。
    主要就是要这两个码。
设置

接下来就是集成项目了:

项目集成(android为例)

1)sdk导入
在根build中,buildscript下的repositories添加:

maven{url "http://mvn.mob.com/android" }

buildscript下的dependencies添加:

classpath 'com.mob.sdk:MobSDK:+'

总的代码:

buildscript {
    repositories {
         maven{url "http://mvn.mob.com/android" }
    }
    dependencies {
classpath 'com.mob.sdk:MobSDK:+'
    }
}

2)插件的导入
如果项目中没有Application ,mob会自动将com.mob.MobApplication作为Application类。插件可以自动绑定,appkey和appsecret。
在短信代码编写的gradle中加入如下代码:

apply plugin: 'com.mob.sdk'
// 在MobSDK的扩展中注册SMSSDK的相关信息
MobSDK {
    appKey "appkey码"
    appSecret "appSecret码"
    SMSSDK {}
}

上面的两个主要的识别码需要对应创建的引用平台给的编码。
如果存在application,需要在oncreate中添加:
<pre style="background:#2B2B2B">MobSDK.*init*(this);</pre>
记得在AndroidManifest.xml中的application添加;
tools:replace="android:name"
不然会编译不通过。
好了这样就集成好了。
如果需要手动集成的话访问下网址:
http://wiki.mob.com/smssdk-old-android/

使用

1)短信验证申请
点击验证按钮,请求发送短信至手机。

SMSSDK.registerEventHandler(new EventHandler() {
    public void afterEvent(int event, int result, Object data) {
        if (result == SMSSDK.RESULT_COMPLETE) {
            // TODO 处理验证成功的结果
                  if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
                //提交验证码成功
                Log.i("EventHandler", "提交验证码成功");
            } else if
                    (event == SMSSDK.EVENT_GET_VERIFICATION_CODE) { //获取验证码成功
                Log.i("EventHandler", "获取验证码成功");
            } else if
                    (event == SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES) {
                //返回支持发送验证码的国家列表
                Log.i("EventHandler", "返回支持发送验证码的国家列表");
            }
        } else {
            // TODO 处理错误的结果
           
        }
    }
});
SMSSDK.getVerificationCode(国家编码, 手机号);

首先注册handler,然后发送请求getVerificationCode后会调用handler中afterEvent方法,返回参数i1对应事件结果。
2)验证短信
获取到验证码后,填写到合适位置然后访问:
SMSSDK.submitVerificationCode(国家编码, 手机号, 验证码);

实现效果:

登录验证.gif

代码送上https://github.com/xiaogoudandan/WilliamApp
关注一下公众号,一起进步!

微信公众号二维码.jpg

热门文章