最近在做手机推送方面的工作,整理一下Windows Phone通知的相关资料。
Windows Phone支持的通知类型有三种:
Toast通知
Toast 通知显示在屏幕的顶部,用于通知用户某个事件,如新闻或天气警报。除非用户通过向右轻拂关闭通知,否则 Toast 将显示大约 10 秒钟。如果用户点按 Toast,则会启动发送该 Toast 通知的应用程序。
磁贴通知
磁贴通知可用于更新“开始”屏幕上的磁贴。磁贴为分为正反两面。
RAW通知
可以使用 Raw 通知向您的应用程序发送信息。
如果您的应用程序当前未运行,则 Raw 通知会在 Microsoft 推送通知服务上丢弃并且不会发送到设备。
自定义的HTTP标头:
MessageID
与响应关联的通知消息 ID。
如果未将此标头添加到 POST 请求,则 Microsoft 推送通知服务会在响应中忽略此标头。
格式:X-MessageID:MessageIDValue
其中MessageIDValue类型为STRING。
NotificationClass
批处理间隔,指示推送通知将从推送通知服务发送到应用程序的时间。
如果此标头不存在,则推送通知服务会立即发送该消息。
格式:X-NotificationClass:NotificationClassValue
其中NotificationClassValue类型为DIGIT。
此标头可能的值:
Toast 通知 |
2 |
立即发送 |
12 |
在 450 秒内发送 |
22 |
在 900 秒内发送 |
磁贴 通知 |
1 |
立即发送 |
11 |
在 450 秒内发送 |
21 |
在 900 秒内发送 |
RAW 通知 |
3 |
立即发送 |
13 |
在 450 秒内发送 |
23 |
在 900 秒内发送 |
通知类型
要发送的推送通知的类型。
可能的选项为磁贴、Toast 和 Raw。
如果此标头不存在,则推送通知将被视为 Raw 通知。
格式:X-WindowsPhone-Target:NotificationTypeValue
其中NotificationTypeValue类型为STRING。
CallbackURI
当触发某个特定事件时将注册的回调消息发送到的通知通道 URI。
仅当在经过身份验证的 Web 服务中注册回调消息时才允许使用此自定义标头。
格式:X-CallbackURI:CallbackURIValue
其中CallbackURIValue类型为STRING。
推送内容格式:
Toast推送内容格式:
$msg = "" .
"" .
"" .
"$title" .
"$message" .
"" .
"";
参数说明:
a)Text1标题。紧挨着应用程序图标之后显示的黑体字字符串。在 XML 架构中,该字符串定义为 Text1 属性。
b)Text2内容。紧挨着“标题”之后显示的非黑体字字符串。在 XML 架构中,该字符串定义为 Text2 属性。
c)Param参数。如果用户点按 Toast,则将参数值传递给您的应用程序,而不进行显示。该参数可以指示应用程序应该启动到的页面。该参数还包含传递到应用程序的名称-值对。在 XML 架构中,该字符串定义为 Param 属性。此参数只支持Windows Phone OS 7.1或更高版本的设备,若将具有此参数的通知发送到Windows Phone OS 7.0设备会导致错误,并且通道会被关闭。
可以显示的文本数量取决于在 Toast 消息中使用的字符以及“标题”(粗体)和“内容”(非粗体)的长度。如果只设置了一个“标题”,则可以显示大约 40 个字符,之后的字符将被截断。如果只设置了“内容”,则可以显示大约 47 个字符。如果一个 Toast 在“标题”和“内容”之间平均拆分,则可以显示大约 41 个字符。无法放在 Toast 上的任何文本都将被截断。
显示如图(Title对应Text1,Sub-title对应Text2)
磁贴推送内容格式:
$msg = "" .
"" .
"" .
"$image_url" .
"$count" .
"$title" .
"" .
"";
参数说明:
1.正面磁贴
•Title标题。指示应用程序标题的字符串。标题必须适合单行文本并且不应该比实际磁贴宽。标题中大约可以包含 15 个字符,多余部分将被截断。
•BackgroundImage。显示在磁贴正面的图像。建议您在磁贴正面始终拥有背景图像。
•Count计数(也称为徽章)。从 1 到 99 的整数值。如果未设置“计数”的值或者设置为 0,则不会在磁贴上显示圆形图像和值。
显示如图
2.反面磁贴
以下参数只能推送到Windows Phone OS 7.1 或更高版本的设备,推送到Windows Phone OS 7.0版本的设备会导致错误,并且通道会被关闭.
•BackTitle。显示在磁贴背面底部的字符串。BackTitle 必须适合单行文本并且不应该比实际磁贴宽。标题中大约可以包含 15 个字符,多余部分将被截断。
•BackBackgroundImage。显示在磁贴背面的图像。
•BackContent。显示在磁贴背面中心的字符串。磁贴中大约可以包含 40 个字符,多余部分将被截断。
显示如图
RAW
直接将数据转换成二进制数据的字节数组,写入 HTTP Request Stream 即可。
iPhone推送内容分析见之前的文章iOS推送通知的格式说明。