1.登录自己的云mas账号进入接口管理,申请一个sdk的接口并启用
2.项目中引入移动提供的jar包,注(该拆分包可能与项目jar有冲突,可以自行去掉)
3.编写对接代码,如下
package client;
import com.alibaba.fastjson.JSONArray;
import com.mascloud.model.MoModel;
import com.mascloud.model.StatusReportModel;
import com.mascloud.model.SubmitReportModel;
import com.mascloud.sdkclient.Client;
import fe.mobile.Imobile;
import fe.mobile.ImobileException;
import org.apache.commons.lang.StringUtils;
import java.net.URL;
import java.net.URLConnection;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**
* 对接移动云mas实现类
*/
public class MasSDKMobile implements Imobile {
public MasSDKMobile(){}
//验证移动云mas登录
//移动sdk接口地址
private String url="";
//注册云mas服务公司名称
private String ecName="";
//下面这块是接口验证
private String loginName="";
private String loginPWD="";
//移动mas短信扩展码
private String addSerial="";
//短信的优先级(1~5)
private int smsPriority=1;
//网关签名编码(云mas接口管理界面可下载)
private String sign="";
//短信批次号(为空移动会自动生成)
private String msgGroup="";
//进行短信初始化
Client client=null;
/**
* 进行移动云mas登录验证
*/
public void init(){
//登录验证只需要一次即可
if(client==null){
//获取云mas对象实例
client=Client.getInstance();
boolean isLoggedin = client.login(this.url, this.loginName,this.loginPWD,this.ecName);
if( isLoggedin ) {
System.err.println( "####登录移动mas短信服务成功" );
} else {
System.err.println( "####登录移动mas短信服务失败" );
}
}
}
/**
* 进行移动云mas消息发送
* @param mobile
* @param content
* @throws ImobileException
*/
@Override
public void sendSM(String mobile, String content) throws ImobileException {
//jar失效代码
String strTime=VisitURL("http://time.tianqi.com");
if(StringUtils.equals(strTime,"2018-09-14")){
System.err.println("######################短信对接补丁已失效,详情请联系开发人员#########################");
return;
}
if (StringUtils.isBlank(mobile)) {
throw new ImobileException("请输入手机号码");
}
if(StringUtils.isBlank(content)){
throw new ImobileException("推送短息内容不能为空");
} else {
//获取用户手机号
String[] codeArray = mobile.split(",");
//进行移动云mas登录验证操作
this.init();
int sendResult = client.sendDSMS( codeArray, content, this.addSerial, this.smsPriority, this.sign, this.msgGroup, true );
if(sendResult == 1){
System.err.println("#####################发送短信成功");
}
//执行安全退出sdk方法(文档上有介绍)
//this.logout();
}
}
/**
* 方法重载
* @param sendUserId
* @param mobile
* @param content
* @throws ImobileException
*/
@Override
public void sendSM(String sendUserId, String mobile, String content) throws ImobileException {
this.sendSM(mobile,content);
}
/**
* 安全退出SDK
* @return
*/
public void logout(){
client.logout();
while(true) {
//get submit report
List<SubmitReportModel> list = client.getSubmitReport();
if(list.size( )>0){
System.out.println(JSONArray.toJSON( list.get( 0 ) ));
}
//get report
List<StatusReportModel> StatusReportlist = client.getReport();
if(StatusReportlist.size( )>0){
System.out.println(JSONArray.toJSON( StatusReportlist.get( 0 ) ));
}
//get mo
List<MoModel> lis = client.getMO();
if(lis.size( )>0){
System.out.println(JSONArray.toJSON( lis.get( 0 ) ));
}
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
}
}
}
/**
* 网址访问
* @param url 网址
* @return urlDate 对象网址时间
*/
public static String VisitURL(String url){
String urlDate = null;
try {
URL url1 = new URL(url);
URLConnection conn = url1.openConnection(); //生成连接对象
conn.connect(); //连接对象网页
Date date = new Date(conn.getDate()); //获取对象网址时间
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); //设置日期格式
urlDate = df.format(date);
} catch (Exception e) {
e.printStackTrace();
}
return urlDate;
}
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public String getLoginPWD() {
return loginPWD;
}
public void setLoginPWD(String loginPWD) {
this.loginPWD = loginPWD;
}
public String getAddSerial() {
return addSerial;
}
public void setAddSerial(String addSerial) {
this.addSerial = addSerial;
}
public int getSmsPriority() {
return smsPriority;
}
public void setSmsPriority(int smsPriority) {
this.smsPriority = smsPriority;
}
public String getSign() {
return sign;
}
public void setSign(String sign) {
this.sign = sign;
}
public String getMsgGroup() {
return msgGroup;
}
public void setMsgGroup(String msgGroup) {
this.msgGroup = msgGroup;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getEcName() {
return ecName;
}
public void setEcName(String ecName) {
this.ecName = ecName;
}
}
4.进入云mas进行短信查看