Android集成文档
概述
SDK 支持 Android 4.0 及以上版本的手机系统。SDK 压缩包包含:a) Android SDK 集成文档;b) UMSMSDemo 工程;c) umeng-sms-v1.0.0.aar;注:首选需要集成友盟基础组件,集成文档
运行 demo 工程
解压后包含 UMSMSDemo 工程,需要将包名,appKey,秘钥等修改为您自己的。
开发环境搭建
1)引入相关依赖下载 SDK 并解压后,将 aar 拷贝至工程的 libs 目录下。强依赖包:
umeng-sms-1…aar
umeng-common-9…jar
umeng-asms-armeabi-v1…aar
2)混淆 keep 规则
-keep class com.umeng.**{*;}
-keepclassmembers class*{
public<init>(org.json.JSONObject);
}
-keepclassmembers enum*{
publicstatic**[] values();
publicstatic** valueOf(java.lang.String);
}3)权限声明
<uses-permissionandroid:name="android.permission.INTERNET"/>
<!--网络访问-->
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE"/>
<!--检查wifi网络状态-->
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!--检查网络状态-->
<uses-permission
android:name="android.permission.CHANGE_NETWORK_STATE"/>
<!--切换网络通道-->4)初始化 common 库
/*
* 0.在 Application 的 onCreate 方法中初始化 Appkey 等信息
*/
UMConfigure.init(this,"替换为 Appkey,服务后台位置:应用管理 -> 应用信息 -> Appkey",
"渠道信息",UMConfigure.DEVICE_TYPE_PHONE,"");SDK 方法说明
3.1 setSMSSDKInfo
/**
* 该接口为初始化配置接口,主要是检测一些配置信息,如果配置错误将会初 始化失败,将会打印错误日志。
* 调用其它接口前必须先调用该接口,仅且仅需调用一次,建议在 Application 或初始 Activity 中调用。
* 注:在公共组件 common 初始化(即 UMConfigure.init)后调用
* @param context Android上下文
* @param appSecret 平台配置的秘钥
*/
publicstaticvoid setSMSSDKInfo(Context context,String appSecret)调用示例:
publicclassBaseApplicationextendsApplication{
@Override
publicvoid onCreate(){
super.onCreate();
UMConfigure.init(this,"appkey","渠道信息",UMConfigure.DEVICE_TYPE_PHONE,null);
UMSMS.setSMSSDKInfo(this,"秘钥");
}}3.2 getVerificationCode
/**
* 该接口为获取验证码接口,在非 UI 线程回调。
* @param phoneNumber 用户的手机号码,中国为 11 位的手机号码。
* @param tempId 短信模板 Id
* @param listener 回调接口
*/
publicstaticvoid getVerificationCode(finalString phoneNumber,finalString tempId,
finalUMSMSCodeListener listener)调用示例:
UMSMS.getVerificationCode(mPhoneET.getText().toString().trim(),"1",newUMSMSCodeListener(){
@Override
publicvoid getCodeSuccess(finalString ret){
MainActivity.this.runOnUiThread(new
Runnable(){
@Override
publicvoid run(){
mResT.setText(ret);
}
});}
@Override
publicvoid getCodeFailed(finalint errCode,finalString errMsg){
MainActivity.this.runOnUiThread(newRunnable(){
@Override
publicvoid run(){
mResT.setText(errCode +":"+errMsg);
}});
}
});返回结果示例
{"success":true,
"data":{"token":"9b63ea094b37f4453242df1b77a46929","score":null,"veri
fyStatus":null},
"code":2001,
"message":"gain mobile's result success",
"requestId":"49B4BB74-98C3-4287-AA65-243E8B68D4A3"}返回值 success 为 true 即为发送成功,具体可参看 demo 工程
3.3 commitVerificationCode
/**
* 该接口为验证码验证接口,在非 UI 线程回调。
* @param phoneNumber 用户的手机号码,中国为 11 位的手机号码。
* @param code 短信验证码
* @param listener 回调接口
*/
publicstaticvoid commitVerificationCode(finalString phoneNumber,
finalString code,finalUMSMSCheckListener listener)调用示例:
UMSMS.commitVerificationCode(mPhoneET.getText().toString().trim(),
mCodeET.getText().toString().trim(),newUMSMSCheckListener(){
@Override
publicvoid checkCodeSuccess(finalString ret){
MainActivity.this.runOnUiThread(newRunnable(){
@Override
publicvoid run(){
mResT.setText(ret);
}
});
}
@Override
publicvoid checkCodeFailed(finalint errCode,finalString errMsg){
MainActivity.this.runOnUiThread(newRunnable(){
@Override
publicvoid run(){
mResT.setText(errCode +":"+errMsg);
}
});
}
});返回结果示例
{"success":true,
"data"{"token":"49137ea819a99b894f5f535f632bf8f9","score":null,"verif
yStatus":true},
"code":2002,
"message":"gain mobile's result and single evaluation score",
"requestId":"60BEE997-7B46-4DC3-AFAC-FEDC668ACD17"}返回值success为true且data中的verifyStatus为true即为验证成功,具体可参看demo工程
返回码
返回码 | 说明 |
|---|---|
-10001 | 请输入有效手机号 |
-10002 | 短信模板不能为空 |
-10003 | 验证码不能为空 |
-10004 | 请先集成并初始化公共组件(UMConfigure.init) |
-10005 | 请先设置setSMSSDKInfo 接口 |
-10006 | Android上下文不能为空 |
-10007 | 秘钥不能为空 |
-10008 | 请检查网络 |
-3201 | 手机号码不应为空 |
-3202 | 短信模版id不应为空 |
-3203 | vcode 不应为空 |
-3204 | token 不应为空 |
-2201 | 系统异常 |
-2202 | 请求超时 |