mob短信验证码SMSSDK的使用

版权声明:本文是博主原创文章,未经博主允许的情况下请勿随便转载。

首先,很多第三方短信验证码都可以,为什么我要选择mob的呢?

因为mob 的短信验证码是完全免费,完~全~免~费~,所以老大就让我用它

其实,个人感觉mob 的短信验证发生时间很不稳定,会延迟,而且未审核之前一个手机号一天只允许请求5次,一个mob账号一天最多发送20次。

使用起来效率可能会相对比较低,但是,它是完~全~免~费~的~~~

请求流程:

1. 以用户提供的手机号码作为参数,请求连接到SMSSDK的服务器

2. SMSSDK服务器校验号码格式成功,请求短信服务商发送短信验证码到该手机号

3. 手机终端接收到验证码,用户输入验证码

4. 验证码传入应用后台服务端,服务端通过SMSSDK接口验证,再把验证结果传回手机端

功能实现过程:

分两种,第一种是无GUI,第二种是有GUI

有GUI是指,SMSSDK里面有一个接口,调用这个接口可以使用SMSSDK已经为我们写好的登录注册布局,短信验证码以及短信验证回调方法;

当不想使用SMSSDK里面提供的布局或者只是需要短信验证码时,调用第一种无GUI方法。

一、无GUI集成短信验证码的SMSSDK

1. 从mob官网下载短信验证码的SDK
http://www.mob.com/#/downloadDetail/SMS/android

2. 把Android SMSSDK v2.0.1.zip下的jar包放到项目的libs目录下,还有其中的raw文件(包括raw文件中的so文件)拉到项目的res中。如果找不到该文件,可以修改SMSSDK-2.0.1文件的格式为rar再从中获取。

3. 配置AndroidManifest.Xml所需要的权限:

<uses-permission android:name="android.permission.READ_CONTACTS" />

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.RECEIVE_SMS" />

<uses-permission android:name="android.permission.GET_TASKS" />

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

在<application>下添加activity:

<activity

android:name="com.mob.tools.MobUIShell"

android:theme="@android:style/Theme.Translucent.NoTitleBar"

android:configChanges="keyboardHidden|orientation|screenSize"

android:windowSoftInputMode="stateHidden|adjustResize"/>

4. 在activity中写代码,分2步执行,一加载,二发送

//  appkey和appSecret在mob申请的应用中获取

// 初始化SDK,单例,可以多次调用;任何方法调用前,必须先初始化

SMSSDK.initSDK(this, "您的appkey", "您的appsecret");

// 其中参数第一个代表的是国家代号,86为中国

SMSSDK.getVerificationCode("86","手机号码");

这样就完成一个简单请求短信验证码的功能。

服务器验证短信验证码必须先打开服务器验证的开关,否则无法进行验证。

二、有GUI接口集成调用

1. 有GUI集成大致与无GUI相同,需要在libs目录下多加一个SMSSDKGUI-2.0.1.jar包

2. 集成权限配置(同无GUI接口一致)

3. 添加代码

//初始化

SMSSDK.initSDK(this, "您的appkey", "您的appsecret");

//调用代码打开GUI页面

//打开注册页面

RegisterPage registerPage = new RegisterPage();

registerPage.setRegisterCallback(new EventHandler() {

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

// 解析注册结果

if (result == SMSSDK.RESULT_COMPLETE) {

@SuppressWarnings("unchecked")

HashMap<String,Object> phoneMap = (HashMap<String, Object>) data;

String country = (String) phoneMap.get("country");

String phone = (String) phoneMap.get("phone");

// 提交用户信息

registerUser(country, phone);

}

}

});

registerPage.show(context);


static void


getSupportedCountries()

获取短信目前支持的国家列表,在监听中返回


static void


getVerificationCode(String country, String phone)

请求获取短信验证码,在监听中返回


static void


submitVerificationCode(String country, String phone, String code)

提交短信验证码,在监听中返回

短信SDK不能支持所有国家的短信验证,调用getSupportedCountries方法能获取到SDK可以支持的国家列表和国家代号。

请求getVerificationCode的时间间隔不应该小于60秒,否则服务端会返回“操作过于频繁”的错误。

submitVerificationCode用于向服务器提交接收到的短信验证码,验证成功后会通过EventHandler返回国家代码和电话号码。

EventHandler是短信回调接口,在使用之前必须先注册,同样,有注册就有注销。

SMSSDK.registerEventHandler(EventHandler handler)注册回调接口

SMSSDK.unregisterEventHandler(EventHandler handler)注销回调接口

registerEventHandler必须和unregisterEventHandler配套使用,否则可能造成内存泄漏。

// 短信回调代码

EventHandler eh=new EventHandler(){

@Override

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

if (result == SMSSDK.RESULT_COMPLETE) {

//回调完成

if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {

//提交验证码成功

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

//获取验证码成功

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

//返回支持发送验证码的国家列表

}

}else{

((Throwable)data).printStackTrace();

}

}

};

SMSSDK.registerEventHandler(eh); //注册短信回调

流程图:

引入服务端验证接口走以下流程

1.手机端请求下发短信

2.SMSSDK服务器请求短信服务商

3.短信服务商下发短信

4.手机端发送短信验证码到开发者服务器进行验证

5.开发者服务器发送到SMSSDK服务器进行验证

6.SMSSDK服务器返回开发者服务器验证结果

7.开发者服务器把验证结果返回手机端

在没有短信服务端验证接口的时候,我的服务器需要知道用户是否验证成功是这样走的

1. 手机端请求下发短信

2. SMSSDK服务器请求短信服务商

3. 短信服务商下发短信

4. 手机端发送短信验证码到SMSSDK服务器进行验证

5. SMSSDK服务器返回手机端验证结果

6. 手机端把验证结果返回开发者服务器

以上为个人的总结,疑问或者有不妥当之处,请指出

第一次写博客,好激动~~~

接下来会好好努力,坚持下去

时间: 2024-11-08 15:00:21

mob短信验证码SMSSDK的使用的相关文章

Android开发:app工程集成mob短信验证码功能

一.前言 现在的app基本上都需要用到短信功能,注册时或者有消息通知时需要给用户发送一条短信,但是对于个人开发者来说,去买第三方的短信服务实在是有点奢侈,很好的是mob为我们提供了免费的短信验证码服务功能,我不是打广告,的确觉得这项服务很不错.那么下面就简单讲一下如何在自己的工程里集成mob的短信功能,其实整个流程并不复杂,只是个人觉得mob的官方文档有点小乱,官方Demo也有点小复杂,同时有一些细节地方容易被忽视,也会导致一些问题. PS:太喜欢mob的logo了. 二.实现过程 本篇只涉及A

android_app开发集成mob短信验证码功能

一.前言 现在的app基本上都需要用到短信功能,注册时或者有消息通知时需要给用户发送一条短信,但是对于个人开发者来说,去买第三方的短信服务实在是有点奢侈,很好的是mob为我们提供了免费的短信验证码服务功能,我不是打广告,的确觉得这项服务很不错.那么下面就简单讲一下如何在自己的工程里集成mob的短信功能,其实整个流程并不复杂,只是个人觉得mob的官方文档有点小乱,官方Demo也有点小复杂,同时有一些细节地方容易被忽视,也会导致一些问题. PS:太喜欢mob的logo了. 二.实现过程 本篇只涉及A

Appcan使用Mob短信验证码

<!DOCTYPE html> <html class="um landscape min-width-240px min-width-320px min-width-480px min-width-768px min-width-1024px"> <head> <title></title> <meta charset="utf-8"> <meta name="viewport

sharesdk短信验证码的集成

在ShareSDK官网http://mob.com/注册并创建Android应用.申请APP_key,下载SDK等 根据官网开发文档导入SDK,目录结构如下 将以上文件按需放入Android Studio项目所要使用SMSSDK的Module所在的Libs里面,再在Module的build.gradle里面将libs加入仓库(repositories),然后添加依赖(dependencies )示例如下: repositories{ flatDir{ dirs 'libs' //就是你放aar的

iOS开发——App集成短信验证码

无论是在网页上还是在客户端,每当我们进行注册的时候,往往会进行短信或者邮箱验证,这是一种不错的安全机制.对于用户体验来说,如果是在PC的网页上,用邮箱或者短信验证都比较方便:如果是在手机上,那么使用短信验证就比较方便.这篇博客我们将会在iOS应用中实现短信验证码的功能.实例demo我已经集成到  https://github.com/chenyufeng1991/iOS-Oncenote . 这里我将会使用mob 的短信验证码 SDK来开发.官网地址为: http://www.mob.com/#

ShareSDK短信验证码集成详细步骤

1.这里使用的是ShareSDK网的短信验证码SDK  官网 http://www.mob.com 先去http://www.mob.com/#/reg 注册成为开发者 填写相应的信息,邮箱账号,然后激活完成 创建好账户激活之后 2.登陆,点击页面右上角的头像按钮—>进入后台. 图1 3.点击进入后台然后出现的是这样的界面 图2 我这里点击已经创建过一个了显示的是图2,如果没有创建过应用,我们这里显示的是 图3样式的, 然后根据图四填写相应的内容,我们这里是短信验证码选择第二个 Security

Mob短信验证的具体使用

原文著作权地址:http://www.jb51.net/article/84946.htm 一.前言 现在的app基本上都需要用到短信功能,注册时或者有消息通知时需要给用户发送一条短信,但是对于个人开发者来说,去买第三方的短信服务实在是有点奢侈,很好的是mob为我们提供了免费的短信验证码服务功能,我不是打广告,的确觉得这项服务很不错.那么下面就简单讲一下如何在自己的工程里集成mob的短信功能,其实整个流程并不复杂,只是个人觉得mob的官方文档有点小乱,官方Demo也有点小复杂,同时有一些细节地方

利用网络短信验证码接口实现手机短信轰炸 (历史代码,贴出学习)

//resource.h //{{NO_DEPENDENCIES}} // Microsoft Visual C++ generated include file. // #define IDD_DLG_PROC 101 #define IDR_BIT1 102 #define IDB_BITMAP1 103 #define IDI_ICON1 104 #define IDC_BTN_SEND 1001 #define IDC_LIST_VIEW 1002 #define IDC_EDIT_PH

发送短信验证码-node+阿里云短信

一.准备工作 前端: 表单 提交方式--- get .post 整体提交 ajax提交 表单验证 正则表达式---不轻易自己写正则,不是不写,一定要考虑好兼容性(全面性)---- 提示信息的选择性 图形验证码 后端进行提供的一张图片,并且这张图片会对应一个字段,这个字段传递给前端,前端负责校验即可 短信验证码 判断是不是手机号 如果是,那么就发送此手机号給后端,后端继续进行操作 第三方登录 qq登录,微信登录,微博登录 appid appsecret appkey 后端: get url.par