`
mmdev
  • 浏览: 12916714 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

WindowsPhone消息推送服务

 
阅读更多

一.WP消息推送工作方式

如果了解C/S架构,我们可以知道客户端到服务器的消息传输可以是双向的,客户端既可以主动从服务器获取消息,也可以被动接受来自服务器通知,而不像纯B/S架构浏览器只能主动从服务器获取消息。

WP手机虽然是C/S模式,但是微软不允许手机被动接收服务器的消息,但是这样无法实现服务器通知。因此,WP提供了一种代理的机制来实现服务器通知,这就是推送通知。推送通知是一种云服务器代理,服务器不能直接向手机客户端发送消息,必须通过云服务器代理发送。

MSDN中关于推送机制的官方流程如下:


上图显示了推送通知的主要流程。

第一步:手机上运行的客户端应用程序从推送客户端服务 (1) 请求推送通知 URI。

第二和第三步:推送客户端服务与 Microsoft 推送通知服务 (MPNS) 协商并向客户端应用程序(2 和 3)返回一个通知 URI。

第四步:客户端应用程序将此 URI 发送给云服务 (4)。

第五和步:当 Web 服务有要发送到客户端应用程序的信息时,该服务使用此 URI 向 Microsoft 推送通知服务 (5) 发送推送通知。

第六步:Microsoft 推送通知服务又将此推送通知发送给在 Windows Phone 设备 (6) 上运行的应用程序。

根据推送通知的格式以及连接到通知的负载,信息作为原始数据发送到应用程序、应用程序的磁贴在视觉上得到更新或显示 Toast 通知。发送推送通知之后,Microsoft 推送通知服务向您的 Web 服务发送一个响应代码,指示此通知已接收并且下次有机会会发送到设备。但是,Microsoft推送通知服务不提供将推送通知从 Web 服务发送到设备的端到端通信。

二.WP推送通知类型

Windows Phone中存在三种默认通知类型:Tile、Push 和 Toast 通知。

1.Tile通知

每个应用程序都可设置Tile,Tile是应用程序内容的可视化、动态的表示形式。当应用程序被固定显示在启动屏幕(Start Screen)时,我们就可以看到Tile的信息。Tile可以修改的三个元素包括:计数(Count)、标题(Title)和背景图像(Background)。


2.Toast通知

Toast通知是Windows Phone系统通知。它不会破坏用户的工作流,十秒钟后自动消失。Toast通知会显示在屏幕的顶部。

Toast通知的两个文本元素:标题和副标题。标题为粗体字显示的字符串,副标题为非粗体字显示的字符串。

Toast通知中,发送的数据为指定的xml格式。如果应用程序正在运行,内容发送到应用程序中;如果应用程序不在运行,弹出Tost消息框显示消息。

重要说明:

应用程序必须要求用户授权方可接收Toast通知,且在应用程序中必须具有允许用户禁用的Toast通知的功能。

3.Raw通知

Raw通知有几个特点:(1)Raw通知的格式可以任意设定,也就是推送服务可以发送任何格式的数据。(2) 只有在应用程序运行时,该类型数据才应该被发送。如果当前没有运行您的应用程序,Raw通知将被微软推通知服务丢弃,不会传递到Windows Phone设备。 (3)应该程序可以根据需要加工数据。 (4)Raw通知的有效载荷的最大为 1 KB。

三. 推送通知类型的选择

通知是用户体验中的重要组成部分,开发者需要仔细考虑它的使用方式。重复通知或侵入式通知会降低用户的应用程序及设备上运行的其他程序的性能。这些通知还会打扰用户。因此开发者需要考虑发送通知的频率以及希望引起用户注意的事件类型。


推式通知类型

应用示例

Tile通知

如天气应用温度变化的信息性通知。

Toast通知

立即查看,如突发新闻的重要通知。

Raw通知

以自定义的格式将信息直接发送到您的应用程序。


======================================================================

注:以上内容为本人整理数篇资料后的文档,愿与大家一起分享。(小莫)

分享到:
评论
1 楼 sanrenxing_1 2017-09-26  
GoEasy 实时推送支持IE6-IE11及大多数主流浏览器的推送,我们项目用的就是GoEasy推送,他们提供的OTP (one-time-password)能有效杜绝他人通过在页面上获取 appkey的方式,进行非法操作,十分安全!此外GoEasy目前除了在中国有服务器外还在美国,新加坡也开了服务器来支持外海推送的需求,据他们客服说接下来还会有更多的机房在世界各地……如果有全球推送需求的项目可以考虑它。

相关推荐

    windows phone 消息推送

    windows phone 消息推送 代码测试类,需要部署到真机上才能获取到uri

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

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

    Windows Phone SDK v7.1.1 开发工具.exe

    微软向用户推送了Windows Phone7.5(代号Mango)更新;今天,微软面向开发者正式发布了Windows Phone SDK 7.1开发工具的RTW版 Windows Phone SDK 7.1.1 更新在现有的 Windows Phone SDK 7.1 的基础上提供了更多功能。...

    rails-push-notifications, Rails iOS,安卓和 Windows Phone 推送通知容易实现 !.zip

    rails-push-notifications, Rails iOS,安卓和 Windows Phone 推送通知容易实现 ! Rails 推送通知 专业 iOS,Android和 Windows Phone 推送通知,用于 Rails的rubyRailsPushNotifications是一个直观易用的gem,它...

    Android、iOS和Windows Phone中的推送技术详解

    推送并不是什么新技术,这种技术在互联网时代就已经很流行了。只是随着进入移动互联网时代,推送技术显得更加重要。因为在智能手机中,推送从某种程度上,...不过这些推送方案的服务器都在国外,有一些推送服务(如Goo

    Windows_Phone_7_使用推送通知

    Windows_Phone_7_使用推送通知

    WindowsPhone8教程

    第1章_Windows Phone平台预览 ...第5章_数据存储 网络 推送 第6章_传感器 位置服务 第7章_多媒体 第8章_依赖属性 数据绑定 第9章_变换 动画 模板 第10章_优化与技巧 第11章_D3D_Basic 第12章_WP8新特性

    使用消息推送机制

    课程 1: 介绍 Windows Phone RAW Notifications 消息 ......................... 6 任务 1 – 创建天气服务项目 ............. 6 任务2 – 创建 Windows® Phone 7 客户端应用程序 ............................. 24...

    徐仙明:Android消息推送实现

    作为移动应用开发的一个重要需求,微软和苹果公司分别为iOS和Windows Phone平台应用开发者提供了很好的消息推送解决方案。实际上Google也为Android平台提供了C2DM的解决方案供开发者使用, 但是由于多方面的原因,...

    Windows Phone 7 wp7 官方中文教程+例子

    第五章 当 Windows Azure 碰到了 Windows Phone 7 推送通知服务概述 Silverlight 交互开发: 第六章 了解 Windows Phone 7 网页浏览器控件 – Part 1 第七章 了解 Windows Phone 7 网页浏览器控件 – Part 2 第八章 ...

    微软消息推送

    微软消息推送,小小的demo,windows phone 平台,小demo

    push_notification:推送通知包可帮助您轻松地将消息推送到Android,IOS,WindowsPhone,Chrome和Firefox设备

    推送通知包可帮助您轻松地将消息推送到Android,IOS,WindowsPhone,Chrome和Firefox设备。 安装 使用Composer: composer install 或者你可以做 composer require tawba/push-notification 如果您没有作曲家,可以...

    windows phone更新到7.8

    windows phone7.5系统的手机,在zune里面更新8860或者8862的时候出错,错误代码,80180048,原因是之前的推送少了一个语言包。因此特地在网上谷歌了一下办法,自己成功升级到7.8 8862版本。压缩包内有详细步骤。 ...

    GameThrive-WindowsPhone-SDK:适用于 Windows Phone 的推送通知 SDK。 由 https 提供支持

    GameThrive Windows Phone 推送通知 SDK GameThrive 是一种针对移动应用程序的免费推送通知服务。 此 SDK 使您可以轻松地将 Windows Phone 应用程序与 GameThrive 集成。 有关设置文档,请参阅 。 有关 GameThrive ...

    Android、iOS和WindowsPhone中的推送技术

    推送并不是什么新技术,这种技术在互联网时代就已经很流行了。只是随着进入移动互联网时代,推送技术显得更加重要。因为在智能手机中,推送从某种程度上...不过这些推送方案的服务器都在国外,有一些推送服务(如Google

    c#语言IOS推送服务端全程代码,

    c#语言IOS推送服务端全程代码, windows服务全程代码, windows服务安装程序设置, 实现IOS推送服务C#语言服务端代码实现

    windows phone 官方示例代码

    包含windows phone开发方方面面的内容,控件、网路、消息推送,等等等等

    WindowsPhone培训手册

    WindowsPhone培训手册 [培训]WP_第1章_Windows Phone平台预览_Demo.rar [培训]WP_第2章_UI控件_Demo.rar [培训]WP_第3章_程序的基本概念和架构_Demo.rar [培训]WP_第4章_特性_Demo.rar [培训]WP_第5章_数据存储 网络...

    Ruby-RpushRuby的推送通知服务

    Rpush - Ruby的推送通知服务支持Apple Push Notification Service, Google Cloud Messaging, Amazon Device Messaging and Windows Phone Push Notification Service。

Global site tag (gtag.js) - Google Analytics