写在前面
首先我要吐槽一下福州的天气,连续下了一周的雨,感觉快要发霉了,真是无FUCK说。下雨天就是意志消沉,没有一点战斗力,啥都不想干。但是有一句话说的没错,DEADLINE就是第一生产力,数据库报告,操作系统报告,技术博客。。。不干活不行了。
好了吐槽完了,咋们进入正题,开始介绍接入Mob短信验证的流程
第一步:进入Mob官网进行注册并登录
第二步:创建一个应用
-
创建成功后会看到如下界面,然后点击添加产品,添加我们需要的短信验证模块(SMSSDK)即可
第三步:下载短信验证SDK,并且导入到你的项目
- 下载完成后,打开压缩包,找到SMSSDK里边的libs目录,并将里边的jar包和aar文件复制到你项目的libs目录下面
- 然后在gradle中添加以下代码,注意里边的文件名和版本和上面一张图里边的是对应的
- 好了,到这里前期工作已经全部做完,现在可以开始进行编码实现了
第四步:编写代码
-
首先看一下实现后的效果(第一次做动态图有点丑)
-
初始化模块,这里需要输入后两个参数分别是App key和App secret,可以在mob管理后台查看
-
编写handle处理结果
-
点击事件,这里要注意86代表中国
- 以上是主要步骤,接下来看完整代码
package bbh.fzu.com.picture.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import bbh.fzu.com.picture.R;
import cn.smssdk.EventHandler;
import cn.smssdk.SMSSDK;
public class MessageActivity extends AppCompatActivity implements View.OnClickListener{
private EditText phone;
private EditText code;
private Button send;
private Button verify;
private Handler hander = new Handler(){
@Override
public void handleMessage(Message msg) {
int event = msg.arg1;
int result = msg.arg2;
Object data = msg.obj;
if (result == SMSSDK.RESULT_COMPLETE){
if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE){
//right
Toast.makeText(MessageActivity.this,"验证成功",Toast.LENGTH_SHORT).show();
}
}else {
Toast.makeText(MessageActivity.this,"验证码错误",Toast.LENGTH_SHORT).show();
}
}
};
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.message);
inits();
initSDK();
}
private void initSDK() {
//初始化短信验证模块
SMSSDK.initSDK(this,"1df128cbcbd61","40018dab2b1b42d0e68c63a8429d05e5");
EventHandler eh = new EventHandler(){
@Override
public void afterEvent(int event, int result, Object data) {
Message msg = new Message();
msg.arg1 = event;
msg.arg2 = result;
msg.obj = data;
hander.sendMessage(msg);
}
};
SMSSDK.registerEventHandler(eh);
}
private void inits() {
phone = (EditText) findViewById(R.id.message_phone);
code = (EditText) findViewById(R.id.message_code);
send = (Button) findViewById(R.id.message_send);
verify = (Button) findViewById(R.id.message_verify);
send.setOnClickListener(this);
verify.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.message_send:
String number = phone.getText().toString().trim();
SMSSDK.getVerificationCode("86",number);
Toast.makeText(this,"验证码已发送",Toast.LENGTH_SHORT).show();
break;
case R.id.message_verify:
String vNumber = phone.getText().toString().trim();
String vCode = code.getText().toString().trim();
SMSSDK.submitVerificationCode("86",vNumber,vCode);
Toast.makeText(this,"请等待验证",Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
}
小结
通过上面几个步骤,你就可以轻松的将mob短信验证模块接入到你的应用之中了。还有一点值得注意的是利用mob可以很方便的实现短信验证功能,但是每天只有20条的限制,如果要提高至无限量则需要到mob后台提交完整的apk安装包。但是一般来说,20条对于开发阶段还是够用的。
最后:这是第一次用简书写文章,有很多不足之处,还请见谅。