mob(sharedsdk)短信验证
2016-11-03 18:25
411 查看
第一步-下载开发包
首先你要在第三方平台mob拥有一个开发者账号,这样你才能使用其提供的短信验证服务。然后点击下载相应开发平台的版本,我这里使用的是AS。
下载完毕后我们得到的是一个压缩包,解压缩,打开SMSSDK这个文件夹。
中间3个是sdk,最后是gui的文件
如果使用as2.0之前的版本 不识别aar文件可以在我的资源文件中下载smssdk....jar
第二步-将SDK导入到项目当中
将以下jar导入项目:构建完成。
第三步-配置清单
<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.READ_SMS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
第四步-启动SDK
初始化接口
限定符和类型 | 方法和说明 |
---|---|
static void | initSDK(Context context, String appkey, String appSecrect) 初始化SDK,单例,可以多次调用;任何方法调用前,必须先初始化 |
static void | registerEventHandler(EventHandler handler) 注册回调接口 |
static void | unregisterEventHandler(EventHandler handler) 注销回调接口 |
registerEventHandler用来往SMSSDK中注册一个事件接收器,SMSSDK允许开发者注册任意数量的接收器,所有接收器都会在事件 被触发时收到消息。
SMSSDK.initSDK(this,APPKEY,APPSECRET);
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 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | SMSSDK.initSDK(this,APPKEY,APPSECRET); 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); //注册短信回调 |
registerEventHandler必须和unregisterEventHandler配套使用,否则可能造成内存泄漏。
短信验证码接口
限定符和类型 | 方法和说明 |
---|---|
static void | getSupportedCountries() 获取短信目前支持的国家列表,在监听中返回 |
static void | getVerificationCode(String country, String phone) getVerificationCode(String country, String phone, OnSendMessageHandler listener) 请求获取短信验证码,在监听中返回 |
static void | submitVerificationCode(String country, String phone, String code) 提交短信验证码,在监听中返回 |
public interface OnSendMessageHandler {
//#if def{lang} == cn
/**
* 此方法在发送验证短信前被调用,传入参数为接收者号码
* 返回true表示此号码无须实际接收短信
*/
//#elif def{lang} == en
/**
* This method will be called before verification message being to sent,
* input params are the message receiver
* return true means this number won't actually receive the message
*/
//#endif
public boolean onSendMessage(String country, String phone);
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | public interface OnSendMessageHandler { //#if def{lang} == cn /** * 此方法在发送验证短信前被调用,传入参数为接收者号码 * 返回true表示此号码无须实际接收短信 */ //#elif def{lang} == en /** * This method will be called before verification message being to sent, * input params are the message receiver * return true means this number won't actually receive the message */ //#endif public boolean onSendMessage(String country, String phone); } |
getVerificationCode用于向服务器请求发送验证码的服务,需要传递国家代号和接收验证码的手机号码,支持此服务的国家代码在 getSupportedCountries中获取。请求getVerificationCode的时间间隔不应该小于60秒,否则服务端会返回“操作过 于频繁”的错误
submitVerificationCode用于向服务器提交接收到的短信验证码,验证成功后会通过EventHandler返回国家代码和电话号码。
第五步-实例
我的另一篇文章:注册界面及短信验证相关文章推荐
- mob官网中sharedsdk短信验证
- MOB短信验证码SDK集成
- SharedSDK短信验证
- mob.com SMSSDK使用 免费短信验证
- Android开发之MOB短信验证SDK的使用(一)
- iOS Mob短信验证SDK包含IDFA,导致提交AppStore失败
- Android开发之MOB短信验证SDK的使用(二)
- 解决mob网站短信验证SDK更新后,android studio下的mob短信验证接入问题
- 安卓日记——使用MobSDK短信验证
- Failed to resolve :SMSSDK-2.1.3 MOB短信验证出现错误
- 安卓短信验证功能-----快速集成Mob之SecurityCodeSDK
- Android Mob免费短信验证SDk
- Xcode7 开发 mob更替新版本短信验证sdk 出现 overrides method from class 问题解决
- 短信验证SMSSDK的使用
- 【短信验证码SDK】SMSSDK for Android 1.1.9已经发布
- Android接入免费的短信验证SMSSDK的应用
- 用MOB实例开发实现短信验证功能
- 『实践』Android之短信验证码(用的Mob短信验证)
- 关于同时使用MOB的分享SDK和短信SDK
- Android开发工程中集成mob短信验证码功能的方法