通常短信验证验证码功能是收费的,大概5分钱一条。MobSKD 提供免费的短信验证,我按照官方文档的步骤,在项目中尝试了一下。
使用过程
- 在MobSKD下载SDK. 它提供Eclipse和Android Studio版本的。我用的是AS.
2.解压SDK,将MobCommons-2016.0714.1402.jar
MobTools-2016.0714.1402.jar
SMSSDK-2.1.1.aar
SMSSDKGUI-2.1.1.aar
这四个文件拷贝到app包下的lib目录中。
3.在app模块的build.gradle中配置
记住版本号要和libs
中引入的一致。
4.配置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.READ_SMS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
在Application中注册活动
<activity
android:name="com.mob.tools.MobUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="stateHidden|adjustResize"/>```
5 . 在创建项目时加入
SMSSDK.initSDK(this, "您的appkey", "您的appsecret");
6 . 在“验证”按钮上绑定OnClick事件,在回调函数中加入
//打开注册页面
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);
##获取appkey和appsecret的步骤
1. 注册账号后登陆 进入后台 http://dashboard.mob.com/
2. 泡杯茶 仰望星空(进入后台有点慢哦)
3 .进入短信验证板块,创建新的APP
4. 将集成了短信SDK的apk上传进行上线登记。上传成功后的状态是“审核中”
5.保存
6.应用信息中就有需要的appkey和appscret
![应用信息](http://upload-images.jianshu.io/upload_images/2536835-d8344a260b58eba6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
##(可选)添加安全指纹
添加安全指纹后,没有签名的app发送的短信验证请求会被服务器拒绝
1. 将当前项目签名打包
Build->Generete Signed APK
2. 把生成的apk安装到测试机中
3. 访问http://fir.im/SMSSDKSignCal 下载SMSSDKSignCal到同一台测试机中并启动 (很小的程序,只有40KB)
4.输入包名(在AndroidManifest.xml中可以看到package name) 生成的一串数字+字符串就是安全指纹
5.登录管理后台 ->应用管理->应用信息->应用签名,添加签名指纹,并保存配置
#亲测成功!
现在可以每天发20条验证码,审核通过后就没有限制完全免费啦。