bmob实现短信验证功能

短信验证看起来还是蛮有逼格的,而且针对于用户安全对有一定的保证,比如说每次登陆都是通过短信验证来进行登陆。
所以说学习短信验证还是挺重要的。不要用mob服务平台,很难用很难用,超级大坑,尽管看起来逼格比较高,但是二次开发并不方便,他给封装好了,然后我们如果想自定义界面特别麻烦,而且官方给的demo逻辑感觉也比较混乱,千万不要进坑。
相比较而言,还是这个bmob的短信服务比较容易,进入正题。
简要流程
申请bmob账号→新建应用→程序配置→代码编写
详细步骤
1)申请账号 www.bmob.cn
       登录账号进入bmob后台后,点击后台界面左上角“创建应用”,在弹出框输入你应用的名称,然后确认,你就拥有了一个等待开发的应用。

获取应用密钥和下载SDK

选择你要开发的应用,点击该应用下方对应的“应用密钥”

在跳转页面,获取Application ID,此ID将会在初始化SDK中使用到。

   2用androidstudio建立自己的工程
   3配置(这个地方的最后一步可以仅仅导入我们所需要的sms包)

请按照如下两个步骤进行:

  1. 在 Project 的 build.gradle 文件中添加 Bmob的maven仓库地址,示例如下:(注意文字说明部分):

    buildscript {

     repositories {
         jcenter()}
     dependencies {
         classpath 'com.android.tools.build:gradle:1.2.3'}

    }

    allprojects {

     repositories {
         jcenter()//Bmob的maven仓库地址--必填
         maven { url "https://raw.github.com/bmob/bmob-android-sdk/master" }}

    }

  1. appbuild.gradle文件中添加compile依赖文件,示例如下:(注意文字说明部分):

    apply plugin: 'com.android.application'

    android {

    compileSdkVersion 22
    buildToolsVersion '22.0.1'**兼容Android6.0系统所需,如果这句话报错,可在dependencies标签下使用compile 'cn.bmob.android:http-legacy:1.0'**
    useLibrary 'org.apache.http.legacy'...

    }

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])//以下SDK开发者请根据需要自行选择//bmob-sdk:Bmob的android sdk包,包含了Bmob的数据存储、文件等服务,以下是最新的bmob-sdk://3.5.0:请务必查看下面注释[1]
    compile 'cn.bmob.android:bmob-sdk:3.5.0'//bmob-push:Bmob的推送包
    compile 'cn.bmob.android:bmob-push:0.8'//bmob-im:Bmob的即时通讯包,注意每个版本的im依赖特定版本的bmob-sdk,具体的依赖关系可查看下面注释[2]
    compile 'cn.bmob.android:bmob-im:2.0.5@aar'
    compile 'cn.bmob.android:bmob-sdk:3.4.7-aar'//bmob-sms :Bmob单独为短信服务提供的包
    compile 'cn.bmob.android:bmob-sms:1.0.1'//如果你想应用能够兼容Android6.0,请添加此依赖(org.apache.http.legacy.jar)
    compile 'cn.bmob.android:http-legacy:1.0'}

4)代码编写
bmob初始化
   
   
//bmob初始化
BmobSMS.initialize(MainActivity.this,"62f79064bc2e4d00c92b961e3045a835");
//接收验证码到手机
BmobSMS.requestSMSCode(mContext, phoneNum, "短信模板", new RequestSMSCodeListener() {
@Override
public void done(Integer integer, BmobException e) {
if(e==null){
new CountDownTimer(60000,1000){
@Override
public void onTick(long millisUntilFinished) {
btn_get.setText(millisUntilFinished / 1000 + "秒");
}
@Override
public void onFinish() {
btn_get.setClickable(true);
btn_get.setText("重新发送");
}
}.start();
 
Toast.makeText(mContext,"验证码发送成功,请尽快验证",Toast.LENGTH_SHORT).show();
}else{
Log.e(TAG+"btn_get",e.toString());
Toast.makeText(mContext,"验证码发送失败",Toast.LENGTH_SHORT).show();
}
 
 
}
});
 
//发送验证码给后台验证
BmobSMS.verifySmsCode(mContext, phoneNum, checkNum, new VerifySMSCodeListener() {
@Override
public void done(BmobException e) {
if(e==null){
Toast.makeText(mContext,"验证成功",Toast.LENGTH_LONG).show();
}else{
Log.e(TAG+"btn_send",e.toString());
Toast.makeText(mContext,"验证失败",Toast.LENGTH_LONG).show();
}
}
});
ok,具体的验证界面的格式自定义即可。
参考 http://blog.csdn.net/qiang_xi/article/details/47686311
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值