接入说明
JDK支持版本:jdk1.8及以上
cmpp版本:cmpp2.0
初始化
导入类和初始化客户端实例
1 2 3 4 5 6 7 8 9 10 11 12
| import com.ly.sms.client.cmpp.*; public class Demo { private CMPPClient client; public void create() { String host = "111.222.333.44"; int port = 7890; String spId = "123456"; String spNumber = "10691234"; String password = "test_password"; this.client = new CMPPClient(host, port, spId, spNumber, CMPPConstant.SERVICE_TYPE_SMS, password); } }
|
发送短信
发送普通短信方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| SmsRequest sms = new SmsRequest(); public void send(){ String message = "这是一条普通的短信发送示例。"; sms.setContent(message); String[] moblies = {"15000000000"}; sms.setMobiles(moblies); SmsResponse smsResponse = this.client.send(sms); for (SmsResponseResult result : smsResponse.getResults()) { System.out.println("msgId=" + result.getMessageId()); System.out.println("result=" + result.getResult()); } }
|
发送短信成功示例
1 2
| messageId=8270084185578930176 result=0
|
发送短信失败示例
1 2
| messageId=8270084185578930176 result=1
|
发送长短信方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| SmsRequest sms = new SmsRequest(); public void send(){ String message = "这应该是一条很长的短信,大概需要超过70个字符的长度,作为长短信的发送例子,你可以清楚的了解长短信是如何发送的。当短信的内容超过70个字符后,SDK会将短信内容就会自动进行拆分,分成多条发送出去这应该是一条很长的短信,大概需要超过70个字符的长度,作为长短信的发送例子,你可以清楚的了解长短信是如何发送的。当短信的内容超过70个字符后,SDK会将短信内容就会自动进行拆分,分成多条发送出去"; sms.setContent(message); String[] moblies = {"15000000000"}; sms.setMobiles(moblies); SmsResponse smsResponse = this.client.send(sms); for (SmsResponseResult result : smsResponse.getResults()) { System.out.println("msgId=" + result.getMessageId()); System.out.println("result=" + result.getResult()); } }
|
发送短信成功示例
1 2 3 4 5 6
| messageId=8270084185578930176 result=0 messageId=8270084185578930177 result=0 messageId=8270084185578930178 result=0
|
发送短信失败示例
1 2 3 4 5 6
| messageId=8270084185578930176 result=1 messageId=8270084185578930177 result=1 messageId=8270084185578930178 result=1
|
cmpp状态码
详情查询cmpp状态码
接收上行短信
注册消息侦听,用于接收上行短信
1 2 3 4 5 6 7
| public void onDeliver(CMPPMoMessage msg) { System.out.println("收到上行短信了[" + msg.toString() + "]"); msg.getDestnationId(); msg.getMobile(); msg.getContent(); }
|
接收上行短信结果示例
1 2 3
| destnationId=0511 mobile=15000000000 content='T'
|
接收状态报告
注册消息侦听,用于接收状态报告
1 2 3 4 5 6 7 8 9 10
| public void onReport(CMPPReportMessage msg) { System.out.println("收到状态报告了[" + msg.toString() + "]"); msg.getDestnationId(); msg.getStatusMessageId(); msg.getMobile(); msg.getStat(); msg.getSubmitTime(); msg.getDoneTime(); }
|
接收状态报告结果示例
1 2 3 4 5 6 7
| messageId=8270084185578930177 destnationId=0511 statusMessageId=8270084185578930176 mobile=15000000000 stat='DELIVRD' submitTime='2020-08-05 17:35:01' doneTime='2020-08-05 17:38:43'
|
状态报告值
状态报告值查询状态报告值
关闭客户端
应用退出时应关闭客户端,避免占用服务器资源。
1 2 3
| public void close(){ this.client.close(); }
|