`
duoerbasilu
  • 浏览: 1541533 次
文章分类
社区版块
存档分类
最新评论

关于windowsphone中的toast消息推送的小结

 
阅读更多

刚接触了推送通知机制不久,也写了几个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 &amp;value2=9876– 定义应用程序启动时导航到的页面,以及信息的名称/值对。该页面必须以“/”开头。

  • ?value1=1234 &amp;value2=9876– 包含传递给应用程序默认开始页面的信息名称/值对。该页面必须以“?”开头。

字符

XML 编码

<

&lt;

>

&gt;

&

&amp;

&apos;

&quot;


(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端汇报,但这并不准确,因为有些信息可能因为程序不在前台运行同时又被用户忽略了。是否有更好的信息收集方案,还在调研中。



分享到:
评论

相关推荐

    windows phone 消息推送

    Windows Phone消息推送服务是微软为开发者提供的一种在后台向Windows Phone设备发送通知的功能。这个功能主要依赖于Microsoft的Push Notification Service (MPNS),允许应用程序在后台接收来自服务器的消息,即使...

    Windows Phone 4. 使用消息推送机制

    微软Windows® Phone推送通知服务(PushNotificationService)为第三方开发者提供了一个弹性、专注、可持续的通道,支持发送消息、从服务器(web services)端更新Windows® Phone应用程序。 在这一部分中,一个移动应用...

    Windows_Phone_7_使用推送通知

    **知识点:Windows Phone 7 使用推送通知** **一、推送通知概述** 在Windows Phone 7平台上,Microsoft Push Notification Service(MPNS)为第三方开发者提供了一个可靠且持续的通道,允许他们从Web服务向移动...

    windowphone 推送通知

    在Windows Phone平台上,推送通知(Push Notifications)是开发者与用户保持互动的重要机制。它允许应用程序在后台接收服务器发送的消息,即使应用并未运行也能接收到实时更新。本项目以"windowphone 推送通知"为...

    微软消息推送

    微软消息推送服务是微软为开发者提供的一个强大工具,主要用于向Windows Phone、Windows 8以及UWP(Universal Windows Platform)应用推送通知。这个“小小的demo”可能是为了演示如何集成和使用微软的消息推送服务...

    使用消息推送机制

    微软的Windows Phone推送通知服务(Push Notification Service)为第三方开发者提供了一个高效、专注且可持续的消息传递通道,支持从服务器端向Windows Phone应用程序发送实时更新。这种方式有助于减少不必要的网络...

    Windows Phone开发(45):推送通知大结局——Raw通知(源码)

    本篇主要关注Windows Phone开发中的一个重要概念——Raw通知,它是推送通知的一种形式,适用于传输简单数据,如自定义消息或更新状态。在"Windows Phone开发(45):推送通知大结局——Raw通知(源码)"这个主题中,...

    windows phone 开发书籍及资料

    8. **通知服务**:Windows Phone支持推送通知(Push Notifications)、自定义Tile通知和Toast通知,开发者可以利用这些服务向用户发送即时消息。 9. **地图和位置服务**:Microsoft Bing Maps API提供地图集成,...

    Bootstrap toast消息框插件

    Bootstrap Toast消息框插件是基于流行的前端框架Bootstrap开发的一个组件,用于在网页上优雅地展示短暂的通知或消息。这些消息通常包含重要的信息、警告或成功提示,会在用户界面上短暂出现,然后自动消失,或者通过...

    消息推送并在屏幕右下角弹窗、类QQ弹窗

    在IT行业中,消息推送和屏幕右下角的弹窗功能是常见的用户交互设计,尤其在即时通讯软件如QQ中,这种设计使得用户可以及时获取新消息通知。本文将深入探讨如何实现这样的功能,并以"comet4j"作为示例进行讲解。 1. ...

    深入浅出Windows Phone 8.1应用开发(Runtime框架)_源代码

    开发者将学习如何设置推送通知,处理不同类型的推送(如Toast、Tile和Badge),以及如何在应用中接收和响应这些通知。 5. **第19章** - 可能会涉及到多媒体和图形处理,如图像加载、视频播放、音频处理,或者使用...

    Vue 之 Toast 消息提示插件的简单封装

    vue 中简单封装类似 Toast 的消息提示插件,然后在 vue 中任意位置都可以简单使用 Toast 消息显示最前,并且默认 3 秒后自动消失 实现原理 1、vue 创建 Toast 消失提示组件的显示界面 2、js 代码动态引入 Toast 的 ...

    C# Winform 类似Android Toast消息功能

    【C# Winform 类似Android Toast消息功能】是一种在Windows桌面应用中实现类似Android系统Toast功能的技术。在Android中,Toast是一种短暂显示信息的方式,它不会阻断用户与界面的交互,而是在屏幕某一位置短暂展示...

    windows phone开发实例源码

    6. **通知服务**:推送通知(Toast Notifications)、磁贴更新(Live Tiles)和后台任务是Windows Phone的重要特性,源码可能涉及这些功能的实现。 7. **设备功能**:利用GPS定位、加速度计、陀螺仪等硬件传感器,...

    推送通知实例

    这个"推送通知实例"提供了一个详细的学习资源,帮助开发者了解并实践如何在Windows Phone应用中集成推送通知。 首先,我们要理解什么是推送通知。推送通知是一种服务,当有新消息、更新或事件发生时,即使应用在...

    Toast消息框提示

    在Android应用开发中,`Toast`是一个非常常用且实用的组件,它用于向用户显示短暂的消息提示。这些提示不会阻断用户的操作,而是快速出现在屏幕上的一个特定位置,然后在一段时间后自动消失。`Toast`通常用于提供轻...

    Programming Windows Phone 7 Series

    Windows Phone 7的API集也得到了充分的讨论,这些API包括设备访问(如摄像头、GPS和加速度计)、通知系统(如Toast和Tile通知)、以及数据存储和同步(如Isolated Storage和Web服务集成)。这些功能的深入理解有助于...

    .Net全套视频教程之WindowsPhone开发-video

    开发者需要学习如何配置通知服务,以及如何在应用中触发和处理这些通知,从而提供实时的信息推送功能。 总的来说,这门教程全面覆盖了Windows Phone应用开发的核心技术,对于想要从事Windows Phone应用开发的初学者...

    windows phone开发手册(精选)

    7. **通知服务**:了解Toast、Tile和Badge通知的实现,以及如何使用Push Notification Service (PNS) 实现实时推送。 8. **多媒体和图形编程**:使用MediaElement播放音频和视频,利用SkiaSharp或DirectX进行高性能...

    c# winform 类似android toast消息功能

    在C# WinForm开发中,有时我们希望实现类似Android中的Toast功能,以便向用户显示短暂的通知消息。Android的Toast提供了一种轻量级的提示方式,可以在不中断用户操作的情况下展示信息。C# WinForm虽然没有内置的...

Global site tag (gtag.js) - Google Analytics