使用2.0.0版本请注意:1,2.0.0版本的appkey与旧版本不共用,需重新申请。2,测试期间短信条数限制:20条/天,APP开发完成后务必提交到mob.com后台审核,开通完全免费短信。3、2.0.0之前版本的appkey无需审核,也不受此影响。
(查看视频教程)
请到我们官网下载最新版本的SDK,下载回来后解压,可以看到下面的文件结构:
其中“SMSSDK”目录存放的是短信SDK的全部内容,“SMSSDKSample”中保存了短信SDK的演示项目代码,而“SMSSDKSample.apk”则是“SMSSDKSample”的可执行程序。
短信SDK使用项目依赖的方式完成集成。具体步骤如下:
1、复制“SMSSDK”目录到您自己项目的同一目录下,并将其导入到Eclipse中(查看视频教程)
2、右键您的项目,选择“属性”在弹出的窗口中侧栏选择“Android”,并在引用项目中选中“SMSSDK”(查看视频教程)
2.0.1开始使用aar文件集成。更方便快捷
2.1 首先这是一个Android项目
2.2 外面这个AARTest 是一个Project。app是这个Project的一个module。如要在这个module里面使用带界面的SMSSDK。
就将MobCommons.jar,MobTools.jar,SMSSDK-2.0.1.aar,SMSSDKGUI-2.0.1.aar放到了app的libs目录下。然后在app
目录下的build.gradle,加上红圈中的这几句就行了。
2.0.0及以下的版本在android studio里面以依赖子module的形式集成。
2.1 一种简单的方法就是先按eclipse的步骤将“SMSSDK”导入eclipse,然后利用android studio导入eclipse adt项目为module。(下图第二个选项,不是选中的那个),然后在要使用的项目的build.gradle添加依赖
图1,以eclipse adt项目创建module
图2添加依赖:
2.2 第二种就是完全自己手动创建module,移动相关文件,最后添加依赖
这个是手动将SMSSDK 转成studio的module。和eclipse导出的功能是一样的,只是eclipse导出的文件目录不是studio的标准目录,是通过设置sourceset自定义的目录。这个教材可以帮你熟悉studio的目录和eclipse的区别。
Eclipse Android Studio
src ==> [module name]/src/main/java
res ==>[module name]/src/main/res
libs下的jar ==> [module name]/libs
libs下的so ==>[module name]/src/main/jniLibs
assets ==> [module name]/src/main/assets
aidl/ ==>[module name]/src/main/aidl
rs/ ==> [module name]/src/main/rs
jni/ ==>[module name]/src/main/jni
1,在你项目的根目录新建一个android library module。如图
图1,新建module
图2,选择android library(老版本的界面可能不是这样子的)
图3,填写module的信息。module的名字你可以自己取,建议还是smssdk。package name一定要是cn.smssdk,因为我们代码里面就是用这个包名。当然你这里填错也没事,到后面都可以自己手动更改。
2,将相应的文件移到到module的文件下
2.1 打开你下载的SDK文件夹,打开SMSSDK,其实这个教材就是手动将这个SMSSDK项目变成android studio的module。
图1,先来移动libs下的文件,将libs下面的这两个jar移到到smssdk/libs下,将选中的JNI的几个文件夹移动到smssdk/src/main/jniLibs(自己新建jniLibs文件夹)下
如果你是老版本,依赖可能没有自动生成,你需要自己修改smssdk/build.gradle, 在这个文件里面添加这一句依赖。这句话的意思就是编译时依赖libs文件夹下的所有jar文件
对于更老的版本(0.7.2以下)是不支持NDK 预编译本地库( prebuilt native libraries)的,建议你升级到最新版
2.2 将smssdk/src/main/res这个文件夹清空。将我们SMSSDK的res下的东西全移进去
2.3 smssdk的src文件下的内容扔到 smssdk/src/main/java下。因为studio已经帮我们生成了cn.smssdk。我们只要移到gui这个文件夹到cn.smssdk这个包里面去就行了。
2.4 将smssdk/src/main/AndroidManifest.xml 替换成SMSSDK下的AndroidManifest.xml。
2.5 最后在你要使用smssdk的module下的build.gradle里面添加依赖
compile project(“:smssdk”) 注意这个”:smssdk”是根据你smssdk这个module的位置改变的。你建在项目的根目录下就不用改动。接下来的使用就和eclipse里面的一样了。
添加完后别忘了执行一下Tools->Android->Sync Project with Gradle Files
(查看视频教程)
打开您项目的“AndroidManifest.xml”,在其中添加如下的权限:
1
2
3
4
5
|
<
activity
android
:
name
=
"com.mob.tools.MobUIShell"
android
:
theme
=
"@android:style/Theme.Translucent.NoTitleBar"
android
:
configChanges
=
"keyboardHidden|orientation|screenSize"
android
:
windowSoftInputMode
=
"stateHidden|adjustResize"
/
>
|
在您的项目启动时,调用下面的代码:
短信SDK内置了开源的GUI功能,您可以通过调用下面的代码打开短信验证页面:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
//打开注册页面
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
)
;
|
同时,短信SDK也内置了通过本设备通信录换取本应用内用户列表的功能,可以通过下面的代码打开“通信录好友”页面:
1
2
3
|
//打开通信录好友列表页面
ContactsPage
contactsPage
=
new
ContactsPage
(
)
;
contactsPage
.
show
(
context
)
;
|
1、无GUI接口调用
2、短信SDK更新历史
3、appkey防盗用须知
4、Android 短信智能验证说明(1.3.1新增)