Windows Phone 7 推送通知(Push Notification)

简介:

使用推送通知的好处

1、节省用户的电池电量。

2、你可以通过推送通知来告知你的用户在程序中发生了一些有趣的事,即使程序没有运行。

 

推送通知的过程

Notifications Architecture


用户在手机中首次运行程序时,应用程序会调用微软的推送通知服务,请求一个用于通信的定制URI。


当在你的Web Service中激发了一个事件时,你应该向那个URI传递信息(附带一个特定的负载),然后推送通知服务会以活动瓷砖更新,吐司(Toast)通知或者程序中真实数据的方式将数据发送到用户的手机中。


从推送通知服务(Push Notification Service)中获取定制的URI


我们得使用Microsoft.Phone.Notification程序集,从推送通知服务中(PNS)获取一个定制的URI。首先,我得创建一个HttpNotificationChannel。它将自动与PNS通信(在另一个线程中),并且还得通过一个事件来捕获服务返回的内容。

HttpNotificationChannel是一个在Push Notification服务和Push Client之间创建通知通道的类,它用来创建一个raw,tile和 toast通知的订阅。该通道的创造流程是这样的:如果通道已经存在,则客户端应用程序应尝试重新打开它。试图重新创建已存在的通道将导致异常。如果通道没有打开,订阅通道事件,并尝试打开通道。一旦通道打开它会触发ChannelUriUpdated事件。此事件可能向客户端发送成功创建通道的信号。现有的通道可以根据名称找到,成功找到通道的情况下,通道将被重新激活,并可以在应用程序中使用。整个过程是异步的。


一旦你有了URI,就可以在Web Service中保存它了。Web Service会初始化将要发送到你手机上的信息,我们有3种方法来实现:瓷砖(Tile)通知,吐司(Toast)通知和原生通知。


原生通知(Raw Notification)- 原生通知用于设备中真正在运行的程序。它允许你在用户使用时实时更新用户界面。


 吐司通知(Toast Notification)– 无论程序是否在运行都会收到这个消息,但在程序运行时弹出吐司消息可能会有点儿讨人厌。

云服务能够产生一种特殊的推送通知,称为 toast 通知,它通常在用户当前屏幕之上叠加显示.例如,天气应用程序可能希望将恶劣天气提醒作为toast通知显示.如果用户决定点击toast 通知,应用程序就会启动并执行其他动作。云服务能够控制 toast 通知的标题和副标题。 toast 通知也会显示包含在布署包里的应用程序图标。


瓷砖通知(Tile Notification)– 如果你的程序被钉在了开始界面中,你可以用瓷砖通知来更新瓷砖。你可以改变背景图片以及一个0-99的整数。

Tile是应用程序或者其内容在手机快速启动区的一个可视的,动态的呈现.例如天气应用程序可能选择使用tile显示用户本地时间和气候情况.因为云服务可能在任何时间变动tile的外观,这种机制可以用来将信息持续不断地传达给用户.每个手机应用程序都关联到一个单独的tile ,但是用户可以控制哪些tile附加到 Quick Launch 区。

云服务能够控制tile的背景图片, 计数器 (或者 徽章)和标题属性.这些属性使用Windows Phone Developer Tools来配置。Tile的动画和声音属性由平台设置而不是由应用程序来控制。例如,如果平台设置为用动画和嘟嘟声来响应任何tile更新 ,这对于任何 tile都是有效的。

Tile的背景图片可以参考一个本地资源,是应用程序部署的一部分,或云资源。通过引用在云中的资源,应用程序得以动态更新tile的背景图像。这使得需要提前进行背景图像处理,然后才显示出来的场景也能够得以应用。在大多数情况下,应用程序包应包含所有需要的tile背景图片,因此这是提高性能和电池寿命最好的解决方案。

 

Toast 和 Tile 通知是Windows Phone 7平台系统定义的通知。和RAW 通知不同,所有的应用程序都可以创建他们自己的负载格式并相应地解析它们。

 

通知的类型

http://msdn.microsoft.com/en-us/library/ff941124(v=VS.92).aspx

 

向Windows Phone推送通知

http://msdn.microsoft.com/en-us/library/ff402545(VS.92).aspx

 

http://msdn.microsoft.com/zh-cn/gg615432.aspx

 

微软的对推送通知的官方教程文档和实例源代码(实验文档 源代码)


本文转自linzheng 51CTO博客,原文链接:http://blog.51cto.com/linzheng/1078704


相关文章
|
Android开发 iOS开发 Windows
Windows Phone 寿终正寝了,这些经典机型你还记得吗?
不久前,随着最后一家WP手机厂商惠普宣布取消今后Windows Phone的研发计划,以及微软官方声明对WP8.1系统今后所有升级维护的终止,WP手机,作为曾经和安卓手机、苹果手机并驾齐驱的三大智能手机之一,正式寿终正寝。
1564 0
Windows Phone 寿终正寝了,这些经典机型你还记得吗?
|
XML 开发框架 前端开发
Windows Phone快速入门需掌握哪些能力
在此之前,先普及下Windows Phone的概念和开发工具的介绍。 Windows Phone是微软公司开发的手机操作系统,它将微软旗下的Xbox Live游戏、Xbox Music音乐与独特的视频体验集成至手机中。2012年6月21日,微软正式发布Windows Phone 8,采用和Windows 8相同的Windows NT内核,同时也针对市场的Windows Phone 7.5发布Windows Phone 7.8。
187 0
Windows Phone快速入门需掌握哪些能力
|
移动开发 Android开发 开发者
Windows Phone 8.1 新功能汇总 开发者预览版开放下载
在Build 2014大会上,微软正式发布了传闻已久的Windows Phone 8.1系统,所有的Windows Phone 8手机都可以升级,微软这次可谓是十分厚道。虽然并非迭代升级,但WP 8.1还是拥有很多重大更新,对于微软进一步完善移动平台拥有积极的意义。下面,就一起来了解一下WP 8.1的主要新特性。
279 0
Windows Phone 8.1 新功能汇总 开发者预览版开放下载
|
编解码 前端开发 JavaScript
Windows Phone 下开发 LBS 应用
基于位置的服务(Location Based Service,LBS),它是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在GIS(Geographic Information System,地理信息系统)平台的支持下,为用户提供相应服务的一种增值业务。
217 0

热门文章

最新文章