加载中 ...
首页 > 常见问题 正文

APP接入短信验证码功能介绍

2019-03-24 10:30:38 来源:沈阳软件公司 作者:沈阳软件开发

短信验证码对于APP来说已经成为了必不行少的功效,新用户注册、快速验证登录、修改密码、宁静支付验证等等场景都需要短信验证码来支持。APP要具备短信验证码功效就必须通过短信接口来实现,现在最常见的做法就是选择一家短信平台互助,直接使用平台的接口接入APP,并通过平台的短信通道实现验证码的发送。市面上的短信平台都是根据验证码短信的条数计费的,那么有没有免费的呢?

 

Mob SMSSDK就是一个完全免费的短信验证码服务平台,只需要在你的APP内植入短信验证码SDK,简朴设置就可以快速的实现APP的短信验证码功效。集成步骤如下(以android为例):

 

一、注册应用获取appKey 和 appSecret

(1)到Mob官网注册成为Mob开发者;

(2)到应用治理后台新建应用。

 

二、 集成SMSSDK

设置gradle

1、 打开项目根目录的build.gradle,在buildscrip–>dependencies 模块下面添加 classpath ‘com.mob.sdk:MobSDK:+’,如下所示;

buildscript {

repositories {

jcenter()

}

 

dependencies {

...

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

 

}

}

 

2、 在使用SMSSDK模块的build.gradle中,添加MobSDK插件和扩展,如:

// 添加插件

apply plugin: 'com.mob.sdk'

 

// 在MobSDK的扩展中注册SMSSDK的相关信息

MobSDK {

appKey "d580ad56b4b5"

appSecret "7fcae59a62342e7e2759e9e397c82bdd"

 

SMSSDK {}

}

 

添加代码

1、初始化MobSDK

若是您没有在AndroidManifest中设置appliaction的类名,MobSDK会将这个设置为com.mob.MobApplication,但若是您设置了,请在您自己的Application类中挪用:

MobSDK.init(this);

以初始化MobSDK。

 

 

2、发送验证码并取得验证效果

有两种要领完成验证码短信的发送和验证:挪用可视化界面和使用无界面接口

 

2-1、以可视化界面完成操作

public void sendCode(Context context) {

RegisterPage page = new RegisterPage();

//若是使用我们的ui,没有申请模板编号的情形下需传null

page.setTempCode(null);

page.setRegisterCallback(new EventHandler() {

public void afterEvent(int event, int result, Object data) {

if (result == SMSSDK.RESULT_COMPLETE) {

// 处置惩罚乐成的效果

HashMap phoneMap = (HashMap) data;

String country = (String) phoneMap.get("country"); // 国家代码,如“86”

String phone = (String) phoneMap.get("phone"); // 手机号码,如“13800138000”

// TODO 使用国家代码和手机号码举行后续的操作

} else{

// TODO 处置惩罚错误的效果

}

}

});

page.show(context);

}

 

2-2、以无界面接口完成操作

// 在实验读取通讯录时以弹窗提醒用户(可选功效)

SMSSDK.setAskPermisionOnReadContact(true);

 

EventHandler eventHandler = new EventHandler() {

public void afterEvent(int event, int result, Object data) {

// afterEvent会在子线程被挪用,因此若是后续有UI相关操作,需要将数据发送到UI线程

Message msg = new Message();

msg.arg1 = event;

msg.arg2 = result;

msg.obj = data;

new Handler(Looper.getMainLooper(), new Callback() {

@Override

public boolean handleMessage(Message msg) {

int event = msg.arg1;

int result = msg.arg2;

Object data = msg.obj;

if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE) {

if (result == SMSSDK.RESULT_COMPLETE) {

// TODO 处置惩罚乐成得沈阳软件设计

<a href=http://www.hvihi.com target=_blank class=infotextkey>沈阳<a href=http://www.hvihi.com target=_blank class=infotextkey>软件开发</a></a>,<a href=http://www.hvihi.com target=_blank class=infotextkey>沈阳<a href=http://www.hvihi.com target=_blank class=infotextkey>软件公司</a></a>

到验证码的效果

// 请注重,此时只是完成了发送验证码的请求,验证码短信还需要几秒钟之后才送达

} else {

// TODO 处置惩罚错误的效果

((Throwable) data).printStackTrace();

}

} else if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {

if (result == SMSSDK.RESULT_COMPLETE) {

// TODO 处置惩罚验证码验证通过的效果

} else {

// TODO 处置惩罚错误的效果

((Throwable) data).printStackTrace();

}

}

// TODO 其他接口的返回效果也类似,凭据event判断当前数据属于哪个接口

return false;

}

}).sendMessage(msg);

}

};

“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与

我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同

其观点或证实其内容的真实性。