1. mob短信验证错误码
错误码参考
SMSSDK for android API回调中,当result=SMSSDK.RESULT_ERROR,则data的类型为Throwable;如果这个Throwable的message就存放有json数据,你可以从中读取status的错误码信息。一部分是服务器返回的。还有一部分是SDK本地生成的。
服务器错误码:
错误码 描述 说明
400 无效请求 客户端请求不能被识别。
405 AppKey为空 请求的AppKey为空。
406 AppKey错误 请求的AppKey不存在。
407 缺少数据 请求提交的数据缺少必要的数据。
408 无效的参数 无效的请求参数。
418 内部接口调用失败 内部接口调用失败。
450 权限不足 无权执行该操作。
454 数据格式错误 请求传递的数据格式错误,服务器无法转换为JSON格式的数据。
455 签名无效 签名检验。
456 手机号码为空 提交的手机号码或者区号为空。
457 手机号码格式错误 提交的手机号格式不正确(包括手机的区号)。
458 手机号码在黑名单中 手机号码在发送黑名单中。
459 无appKey的控制数据 获取appKey控制发送短信的数据失败。
460 无权限发送短信 没有打开客户端发送短信的开关。
461 不支持该地区发送短信 没有开乱扮通给当前地区发送短信的功能。
462 每分钟发送次数超限 每分钟发送短信的数量超过限制。
463 手机号码每天发送次数超限 手机号码在当前APP内每天发送短早陪码信的次数超出限制。
464 每台手机每天发送次数超限 每台手机每天发送短信的次数超限。
465 号码在App中每天发送短信的次数超限 手机号码在APP中每天发送短信的数量超限。
466 校验的验证码为空 提交的校验验证码为空。
467 校验验证码请求频繁 5分钟内校验错误超过3次,验证码失效。
468 需要校验的验证码错误 用户提交校验的验证码错误。
469 未开启web发送短信 没有打开通过网页端发送短信的开关。
470 账户余额不足 账户的短信余额不足。
471 请求IP错误 通过服务端发送或验证短信的IP错误
472 客户端请求发送短信验证过于频繁 客户端请求发送短信验证过于频繁
473 服务端根据id获取平台错误 服务端根据id获取平台错误
474 没有打开服务端验证开关 没有打开服务端验证开关
475 appKey的应用信息不存在 appKey的应用信息不存在
476 当前appkey发送短信的数量超过限额 如果当前appkey对应的包名陆哪没有通过审核,每天次appkey+包名最多可以发送20条短信
477 当前手机号发送短信的数量超过限额 当前手机号码在SMSSDK平台内每天最多可发送短信10条,包括客户端发送和WebApi发送
478 当前手机号在当前应用内发送超过限额 当前手机号码在当前应用下 12小时内最多可发送文本验证码5条
500 服务器内部错误 服务端程序报错。
本地错误码:
错误码 描述 说明
600 API使用受限制 API使用受限制
601 短信发送受限 短信发送受限
602 无法发送此地区短信 无法发送此地区短信
603 请填写正确的手机号码 请填写正确的手机号码
604 当前服务暂不支持此国家 当前服务暂不支持此国家,请选择其它国家
2. androidstudio判断验证码是否正确并登录的代码
androidstudio判凳晌断验证码是否正确并登录的代码是短信纯粗验证功能。androidstudio主要利用了mob网站上的SMSSDK短信验证功能,实现验证码的获取,进而得到登陆。登录平台枣裤锋,注册账号获取AppKey和AppSecret安利一个平台直接注册,创建app后就有AppKey和AppSecret了,在应用中添加SMSSDK短信登录功能。
3. android mob短信验证一天多少条短信
1.之所以选择Mob短信验证码SDK,是因为它是完全免费的,所以很适合自己平时测试或者在个人的小项目中使用,但是有点小坑的是上线前每个手机号一天有次数限制、短信内容不能自定义。
2.首先打开Mob官网,下载SDK
3.将下载好的.zip文件解压,其文件结构如图:
4.打开官网,登录自己账号,选择进入后台
5.选择SecurityCodeSDK
6.申请应用的APP Key 和App Secret ,
7.创建一个我们自己要进行测试的工程mydemo,导入依赖库,即三步走:第一步打开3中下载的文件,复制SMSSDK文件夹到工程目录下
8.第二步:右键工程选择import -> 再把自身项目里的SMSSDK导入一下工程 (注意当eclipse中其他项目也包含有SMSSDK时,可能会导入不了,所以应该避免这种情况)
9.第三步:再右键项目,选择 properties -> Android -> add ->SMSSDK ->ok
10.好了,准备工作都已做好,接下来编写代码
(1)
SMSSDK.initSDK(this, "11b137e3a5e00", "");//sdk使用前的一个初始化,第二个参数即6中的key和Secret
(2)
/**
* 写一个短信发送的监听,用于判断验证码是否发出,提交的验证码是否通过等信息,因为这个不是主线程中的,所以不能对UI线程进行操作,所以这里使用了消息机制
*/
EventHandler eh = new EventHandler(){
public void afterEvent(int arg0, int arg1, Object arg2) { //afterEvent 为调用SDK之后回调的方法
Message m = Message.obtain();
m.what = 1;
m.arg1 = arg0;//event
m.arg2 = arg1;//result
handler.sendMessage(m);
}
};
(3)
SMSSDK.registerEventHandler(eh);//注册短信回调接口
(4)
/**
* 添加一个按钮,当点击时发送短信,注意只有当前网络有网时才能访问服务器获取验证码,方法CommonUtils.getNetworkInfo 是自己定义判断网络状态的工具方法,很简单
*/
public void smsPhoneRegisterVM(Context context,String str){
this.context = context;
if(CommonUtils.getNetworkInfo(context) != 2){
SMSSDK.getVerificationCode("86",str);//请求获取短信验证码,在监听中EvenHandler接口返回,str:手机号
}else{
Toast.makeText(context, "请检查网络连接", Toast.LENGTH_SHORT).show();
}
}
(5)
/**
* 添加一个提交按钮,进行验证码验证
*/
public void smsCommitCommitVM(Context context,String str,String str1){
SMSSDK.submitVerificationCode("86", str, str1);//提交短信验证码,在监听中返回,str :手机号 str1:收到的验证码
}
(6)
/**
* 接收afterEvent 方法里面的Message
*/
Handler handler = new Handler(){
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
if(msg.arg2 == SMSSDK.RESULT_COMPLETE){//发送成功的情况
if(msg.arg1 == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE){//验证成功通过
Intent i = new Intent(context2,ActivityRegisterSmsPage3.class);
context2.startActivity(i);
}else if(msg.arg1 == SMSSDK.EVENT_GET_VERIFICATION_CODE){//验证码已经从服务器发出
Toast.makeText(context, "验证码已发出,请注意查收", Toast.LENGTH_SHORT).show();
}
}else{
Toast.makeText(context, "验证码错误", Toast.LENGTH_SHORT).show();
}
break;
}
};
};
(7)
public void unRegisterEventHandler(){ //最后注销监听,否则可能会造成内存泄露
SMSSDK.unregisterEventHandler(eh);
}
(8)
最后别忘了添加权限和一个activity,此activity位置和普通activity位置一样
<!-- 短信验证的权限 -->
<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" />
<!-- 短信验证Mob依赖库必备的 -->
<activity
android:name="cn.smssdk.SMSSDKUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize" />
(9)
/**
* MOB官方文档说明
* getVerificationCode用于向服务器请求发送验证码的服务,需要传递国家代号和接收验证码的手机号码,支持此服务的国家代码在 getSupportedCountries中获取。
* 请求getVerificationCode的时间间隔不应该小于60秒,否则服务端会返回“操作过 于频繁”的错误
* submitVerificationCode用于向服务器提交接收到的短信验证码,验证成功后会通过EventHandler返回国家代码和电话号码。
*/
4. 一些Android开发中常用的第三方sdk
1、Share SDK官网 www.mob.com。免费集成注册短信验证码,友好的分享功能。
2、环信sdk。主要是集成,聊天相关sdk。
3、Ping++聚合支付。解决集成支付sdk。
4、友盟分享、统计。
5、网络统计
6、极光推送、个推推送
7、360加固服务
8、网络加固、统计服务
9、融云通讯---即时通讯
10、容联 云通讯
11、极速数据、阿凡达数据、聚合数据