参数类型:
发送短信初始化一次
发送成功,收不到。 客户端与代理服务器端之间时间不一致。不一致,如果不调整,以代理服务器端时间为准。
批量发送只支持多个用户发送同一条短信。
短信类型:
短信SMID
尾巴srcID
PDU编码发送:
PDU编码方式是目前国内短信所采用的通用编码方式,多数手机、短信猫等设备均支持该编码方式。
短信设备使用PDU编码方式发送短信时,需要将相应的短信中心号码,短信接收方号码,短信内容及一些必要的设置使用PDU进行编码才能正常的发送。
短信中心号编码
/// <summary>
/// 将中心号码编码
/// </summary>
/// <param name="strValue"></param>
/// <returns></returns>
private string EncodCenterNumber(string centerNumber)
{
string resultString = "0891";
//判断是否为空
if (string.IsNullOrEmpty(centerNumber))
{
return string.Empty;
}
//取出+
if (centerNumber.Substring(0, 1) == "+")
{
centerNumber = centerNumber.Substring(1, centerNumber.Length - 1);
}
//补位
if (System.Math.IEEERemainder(double.Parse(centerNumber.Length.ToString()), 2) != 0)
{
centerNumber = centerNumber + "F";
}
//奇偶换位
for (int i = 0; i < centerNumber.Length; i = i + 2)
{
resultString = resultString + centerNumber.Substring(i + 1, 1) + centerNumber.Substring(i, 1);
}
return resultString;
}
该方法将传递的短信中心号码进行相应的处理,返回经编码后的字符串。编码过程中,首先去除传递的短信中心号码的“+”,根据需要对不足偶数位的字符串使用“F”进行补足,之后对不足的具有偶数长度的字符串进行奇偶换位。
接收方短信号码编码
/// <summary>
/// 将电话号码编码
/// </summary>
/// <param name="phoneNumber">电话号码</param>
/// <returns></returns>
private string EncodPhoneNumber(string phoneNumber)
{
string resultString = string.Empty;
//判断是否为空
if (phoneNumber == "")
{
return "";
}
//取出+
if (phoneNumber.Substring(0, 1) == "+")
{
phoneNumber = phoneNumber.Substring(1, phoneNumber.Length - 1);
}
//补位
if (System.Math.IEEERemainder(double.Parse(phoneNumber.Length.ToString()), 2) != 0)
{
phoneNumber = phoneNumber + "F";
}
//奇偶换位
for (int i = 0; i < phoneNumber.Length; i = i + 2)
{
resultString = resultString + phoneNumber.Substring(i + 1, 1) + phoneNumber.Substring(i, 1);
}
return resultString;
}
接收方号码的编码与短信中心号的编码方式类同,进行去“+”,位数补足,奇偶换位。
短信内容编码
/// <summary>
/// 将短信内容编码
/// </summary>
/// <param name="messageString">信息内容</param>
/// <returns></returns>
private string EncodMessage(string messageString)
{
int messageLength = messageString.Length * 2;
string resultString = messageLength.ToString("X2");
//编码信息内容
Byte[] bytes = new Byte[1024];
string strValue1 = messageString;
System.Text.Encoding.Unicode.GetBytes(strValue1, 0, strValue1.Length, bytes, 0);
for (int i = 0; i < bytes.Length; i = i + 2)
{
if (bytes == 0 && bytes == 0)
{
i = bytes.Length;
}
else
{
resultString = resultString + bytes.ToString("X2") + bytes.ToString("X2");
}
}
return resultString;
}
在此使用的编码方式比较简单,主要使用unicode的编码方式,淡然还有utf7,utf8的编码方式。编码时将短信内容进行unicode编码,将unicode编码转化为十六进制编码,之后进行相应的奇偶换位。
编码结果合并
/// <summary>
/// 将要发送的信息组合
/// </summary>
/// <param name="centerNumber">消息中心号码</param>
/// <param name="phoneNumber">接收号码</param>
/// <param name="messageString">信息内容</param>
/// <returns></returns>
public string GetSendMsg(string centerNumber, string phoneNumber, string messageString)
{
string resultString = string.Empty;
int messageLength = messageString.Length * 2 + 15;
resultString = messageLength.ToString() + "\x00d";
//信息中心号码
resultString = resultString + EncodCenterNumber(centerNumber);
//手机号码
resultString = resultString + "11000D91" + EncodPhoneNumber(phoneNumber) + "000800";
//短信内容
resultString = resultString + EncodMessage(messageString);
resultString = resultString + "\x00d" + "\x01a";
return resultString;
}
要将经过编码的号码机内容进行合并,生成发送所需要的PDU发送字符串。合并当中加入了一些表要的设置,因只用于发送国内短信,基本设置使用固定值。
WAP PUSH 又叫做服务信息或推入信息,是一种特殊格式的短信,接收免费。WAP 就像因特网,是一个内容丰富的网络,用户如何找到自己喜欢的站点,如何在一个站点中找到自己喜欢的业务,往往需要花上很长的一段时间。而WAP PUSH 可以将某一站点或某一业务的链接通过短信发送到支持WAP PUSH 功能的手机上,这样您只需要阅读这条短信(服务信息),打开短信中的链接,就可以直接访问业务了。因此,WAP PUSH 实现了短信和WAP业务的结合,节省了您寻找业务的时间,方便您直接找到并使用自己喜欢的业务。
WAP-PUSH(以下简称PUSH)
WAP PUSH又叫做服务信息或推入信息,是一种特殊格式的短信。
WAP就像因特网,是一个内容丰富的网络,用户如何找到自己喜欢的站点,如何在一个站点中找到自己喜欢的业务,往往需要花上很长的一段时间。而WAP PUSH可以将某一站点或某一业务的链接通过短信发送到支持WAP PUSH功能的手机上,这样您只需要阅读这条短信(服务信息),打开短信中的链接,就可以直接访问业务了。因此,WAP PUSH实现了短信和WAP业务的结合,节省了您寻找业务的时间,方便您直接找到并使用自己喜欢的业务。PUSH信息无论是否被用户打开,都会保留在手机的"推入收件箱"内,用户可以重复打开。
wap push 的意思是带连接的短信,它可以引导你进入wap的网站。它是通过sp的网关发出来的,用软件和移动的接口。
WAP PUSH的特点优势
1 省去用户在手机上输入网址的不方便。如有些网址字数多,输入很麻烦。
2 适合用来做针对性的促销、广告宣传。如您可以直接讲某个活动信息的页面地址、某个优惠券的页面地址、某个产品的页面地址直接推送到用户手机。
3 用户强制性接受,到达率达到100%
4 用户打开率高收到WAP-PUSH后打开的比例分布:
据互联网权威研究机构艾瑞咨询研究,收到WAPPUSH后,有16.6%的网民一般都会打开,看清说明文字后打开的比例达到了53.6%。而基本不打开或直接删除的比例分别为11.4%和18.6。可以发现,WAPPUSH推送服务的接受程度是很高的,尤其是随着WAPPUSH发送的文字说明和介绍对用户是否打开起了比较重要的作用,大部分用户是在看清了文字说明之后才打开WAPPUSH的。
5 2006年以后出产的手机几乎全部支持接受WAPPUSH