关于windowsphone中的toast消息推送的小结
来源:互联网 发布:虚拟试衣淘宝 编辑:程序博客网 时间:2024/05/21 17:11
刚接触了推送通知机制不久,也写了几个demo,以下是几点小结:
(1) 推送toast通知中的格式注意事项:
首先xml的内容格式是固定的,如:
string toastMessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +"<wp:Notification xmlns:wp=\"WPNotification\">" + "<wp:Toast>" + "<wp:Text1><string></wp:Text1>" + "<wp:Text2><string></wp:Text2>" + "<wp:Param><string></wp:Param>" + "</wp:Toast>" +"</wp:Notification>";其中,当param内容为空时,可以省略不写这一节点。同时,在xml中一些字符是要进行转换的,如下所示(引自msdn):
<Text1> 和 <Text2> 都采用字符串格式。
<Param> 值允许以下格式:
/page1.xaml – 定义应用程序启动时导航到的应用程序中的页面。该页面必须以“/”开头。
/page1.xaml?value1=1234 &value2=9876 – 定义应用程序启动时导航到的页面,以及信息的名称/值对。该页面必须以“/”开头。
?value1=1234 &value2=9876 – 包含传递给应用程序默认开始页面的信息名称/值对。该页面必须以“?”开头。
字符
XML 编码
<
<
>
>
&
&
‘
'
“
"
(2)当服务端发送的toast通知中有xml格式错误或者非法内容时,微软推送服务会关闭此通道,并提示出错。例如我之前在eclipse里用java写了一个简单的Server,结果在运行时总是提示出错(“The XML payload contains invalid or improperly formatted XML or the notification type specified in the header does not match the payload type used. The channel has been closed. Check your XML payload for errors and reopen the channel to obtain a new URI.”)。
我检查了几遍,才发现是Text1中的中文编码出问题了。我在eclipse中工程的字符编码默认设置为GBK,结果发送出去的消息一直有问题,虽然我在xml中指定了utf-8的形式。后来我把工程设置为utf-8,重新编译运行就好了。
(3)我们Server端想统计推送的成败情况的话,会比较困难。因为从微软推送服务中返回的相应代码中,只是简单的反映了推送通知到达代理服务器的情况,而非通知到达客户端时的结果。比如微软的代理服务器返回了响应码200,我们Server端只是知道了信息已经成功到达了它那里,并且符合转发到客户端程序的条件;至于客户端最终是否真的收到了通知,无法从这里获知。当然,当客户端程序接收到了通知后,可以向Server端汇报,但这并不准确,因为有些信息可能因为程序不在前台运行同时又被用户忽略了。是否有更好的信息收集方案,还在调研中。
- 关于windowsphone中的toast消息推送的小结
- WindowsPhone消息推送服务
- WindowsPhone消息推送服务
- 关于SNS消息推送的一点思考
- Ios关于推送消息的处理
- 关于android 的消息推送问题解决方案
- 关于Mpush 消息推送 出现的问题
- 推送中的消息和通知的区别
- 关于android中的Toast的用法
- 关于消息推送
- 关于消息推送
- Windows8 & WindowsPhone 关于支付宝的问题
- Android中的消息推送
- Android中的消息推送
- Android中的消息推送
- Android中的消息推送
- Android中的消息推送
- WinPhone中的消息推送
- merge,inplace_merge
- sicily--1323. Switch text
- 【Python】二进制文件与Base64编码文本文件转换
- linux下如何为刚安装好的Eclipse在桌面建一个启动图标???(QtCreator 也可以类似去做)
- 队列的实现
- 关于windowsphone中的toast消息推送的小结
- I NEED A OFFER! (0-1背包的乘法)
- search,search_n
- Ubuntu 12.04 LTS 中文txt文件显示乱码问题
- Android多媒体开发(5)————利用Android AudioTrack播放mp3文件
- find_end,find_first_of
- 设计题总结
- poj 1436 Horizontally Visible Segments 线段树求垂直三角形的个数
- C++内存 内存对齐