移动MAS 开发 问题集锦

移动MAS开发:短信发送问题与解决
在使用MAS进行短信开发时遇到两个主要问题:1. 发送短信出现乱码,原因是ContentLen应设置为内容字节长度而非最大长度。2. 发送扩展短信时,回复短信不会携带设置的参数,只能通过目标号码作为标识。解决方案包括正确设置ContentLen和在号码中嵌入标识信息。

第一次接触使用mas发短信,开发的过程中出现了不少问题,为避免日后忘记,故在此处记下。

问题一:发出短信内容存在乱码。

api提供的发送函数无论是

int SubmitShortMessage(char * AtTime, char * SourceAddr, char * DestAddr, char *  Content, ul ContentLen, int NeedStateReport, char * ServiceID, char * FeeType, char * FeeCode);

还是

int SubmitShortMessageEX(char * AtTime, char * SourceAddr, char * DestAddr, char *  Content, ul ContentLen, int NeedStateReport, char * ServiceID, char * FeeType, char * FeeCode,char * CreatorID,int SMType,char * MessageID,int DestAddrType);

都存在ContentLen ,它代表的是所发送的短信的内容字节长度,即若发送内容为“1234567”ContentLen就为“1234567”的字节长度,而不是发送内容限制的最大长度。若将ContentLen设为最大字节长度,那长度不足的部分就会被乱码补足。

 

问题二:以为发送扩展短信,设置的参数在收到回复时会带回来。

接收到的短信是不会携带任何所带的参数,唯一能作为标识的只有接收到的短信的目标号码。即我以 00000123发送给用户13477778888一条短信,那回复的短信能标志的只有他是发给 00000123的。所以要对数据进行复杂操作,需要传id之类的只能放入号码中如上文中的123就是id。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值