Windows Phone 7天初学(5):推送告诉完成51CTO博客 - 众发娱乐

Windows Phone 7天初学(5):推送告诉完成51CTO博客

2019年03月31日11时45分09秒 | 作者: 从蕾 | 标签: 告诉,推送,运用 | 浏览: 851

        Windows Phone 中的推送告诉效劳 Microsoft Push Notification Service 向第三方开发人员供给了一个弹性,专心,并且继续的途径,使得开发人员能够从Web Service 向移动运用程序发送信息和更新,曩昔移动运用程序需求常常自动拜访相应的WEB效劳,以了解是否有任何等候处理的告诉。这样做导航手机无线设备需频频翻开,运用推送告诉的方法替代自动查询,Web Service 能够提示运用程序获取所需求的重要理更新。       效劳器Web Service 如有信息要发送到运用程序,它先发送一个告诉到Push Notification Service ,该效劳随后将告诉运用程序,运用程序的标题明显地更新或许显现一个Toast 告诉。然后,假如需求的话,运用程序能够运用自己的的协议联络Web service 以获取更新,这样也能有用下降电池的耗费。     需注意的是这儿发送的是一个告诉,告诉运用程序,运用程序收到告诉后,再联络Web service 获取具体内容。运用程序不需时时刻刻去查询是否有更新数据。 推送音讯进程: WP设备到MSNS注册-》得到仅有的效劳URI-》把URI传递给云效劳器-》当云效劳器有更新音讯时,发送给MSNS更新音讯,MSNS更新音讯发送给WP设备-》WP设备读取更多的数据。 运用推送告诉效劳有数量约束,用户决议是否运用推送告诉效劳,并有权撤销订阅。告诉是用户体会中的重要组成部分,您需求细心考虑它的运用方法。重复告诉或侵入式告诉会下降您的运用程序及设备上运转的其他程序的功用。这些告诉还会打扰用户。 Push notification 的三种发送方法Raw Notification、Toast Notification、Tokens (Tile) Notification,Tile告诉,如气候运用温度改变的信息性告诉;Toast告诉,当即检查,如突发新闻的重要告诉;Raw告诉,以自定义的格局将信息直接发送到您的运用程序.   (1) Raw Notification
1.能够发送任何格局的数据
2.运用程序能够根据需求加工数据
3.运用程序相关的告诉音讯
4.只要在运用程序运转时,才发送。 (2)Toast Notification
1.发送的数据为指定的XML 格局
2.假如运用程序正在运转,内容发送到运用程序中
3.假如运用程序没有运转,弹出Toast 音讯框显现音讯,App 图标加上两个描绘文本,打断用户当时操作,可是是暂时的,用户能够点击进行盯梢。 (3)Tokens (Tile) Notification
1.发送的数据为指定的XML格局
2.不会往运用程序进行发送
3.假如用户把运用程序PIN TO START ,那么更新数据发送到start screen 的tile 里边,包括三个特点,布景,标题和核算器,每个特点都有固定的格局与方位,能够运用其间的特点,不一定三个特点一同运用。 运用程序运用推送告诉功用主要有两个方面,第一是启用和封闭运用程序推送告诉的设定,由于这是MarketPlace要求运用程序有必要具有的功用;第二是Web Service的规划和代码完结,由于完结推送告诉音讯内容的逻辑都是在Web Service端完结的,然后告诉MPNS将音讯推送至Windows Phone运用程序。Web Service既能够是云端的Cloud Application,也能够是其他的Web运用程序,只要能和MPNS通讯即可。 推送告诉音讯根底类PushNotificationMessage类,有三个子类: (1)RawPushNotificationMessage – 当Windows Phone运用程序运转时,能够接纳到来自Web Service的Raw告诉音讯。 (2) TilePushNotificationMessage –当Windows Phone运用程序被固定显现在发动页面,Windows Phone将出现Tile告诉音讯的内容。 (3) ToastPushNotificationMessage –发送Toast"正告"音讯至Windows Phone。   事例5-1 推送告诉效劳         Windows Phone运用程序的推送告诉的完结方法中,程序员简直不需求编写代码就能够完结在Windows Phone的三种推送告诉呼应,原因是体系自身现已替咱们做好了,现以Raw告诉音讯为例演示怎么完结告诉效劳。 (1) 新建Windows Phone程序。 (2) 增加指令按钮、信息显现文本块,界面如图5-1: 图5-1 (3) 增加发生uri事情代码: private void button1_Click(object sender, RoutedEventArgs e) { MyChannel = HttpNotificationChannel.Find(channelName); if (MyChannel != null) { MyChannel.Close(); MyChannel.Dispose(); } MyChannel = new HttpNotificationChannel(channelName, "NotificationService");//新建一个通道 //回来一个URI的事情 MyChannel.ChannelUriUpdated += new EventHandler<NotificationChannelUriEventArgs>(MyChannel_ChannelUriUpdated); //导致不能回来URI的各类反常信息捕捉事情 MyChannel.ErrorOccurred += new EventHandler<NotificationChannelErrorEventArgs>(MyChannel_ErrorOccurred); //发送RAW NOTIFICATION事情,以进一步读取、处理数据 MyChannel.HttpNotificationReceived += new EventHandler<HttpNotificationEventArgs>(MyChannel_HttpNotificationReceived); //到微软效劳器注册 MyChannel.Open(); } (4)得到告诉信息的处理 void MyChannel_HttpNotificationReceived(object sender, HttpNotificationEventArgs e) { //读取告诉内容 using (var reader = new StreamReader(e.Notification.Body)) { string msg = reader.ReadToEnd(); Dispatcher.BeginInvoke(() =&gt; { msgBlock1.Text = msg; }); } } (5)输出手机管道Uri及犯错信息处理 void MyChannel_ErrorOccurred(object sender, NotificationChannelErrorEventArgs e) { throw new NotImplementedException(); } void MyChannel_ChannelUriUpdated(object sender, NotificationChannelUriEventArgs e) { //得到管道URI Debug.WriteLine("管道URI:{0}", e.ChannelUri); } (4) 新建项目,模仿效劳端,构建云核算。新建一Windows Forms Application,界面规划如图5-2:     图5-2 (5) F5运转。 单击发生uri,注册uri,如图5-3   图5-3 复制URI值,运转效劳程序,并复制到云端效劳器的URI中,如图图5-4:   图5-4 挑选城市、温度,单击“发送”,在Windows Phone会有相应显现,如图5-5: 图5-5 附件:http://down.51cto.com/data/2358377
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表众发娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章