`
mmdev
  • 浏览: 13469528 次
  • 性别: 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消息推送服务是微软为开发者提供的一种在后台向Windows Phone设备发送通知的功能。这个功能主要依赖于Microsoft的Push Notification Service (MPNS),允许应用程序在后台接收来自服务器的消息,即使...

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

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

    windowphone 推送通知

    本项目以"windowphone 推送通知"为主题,提供了相关的源码,旨在帮助开发者理解和实践Windows Phone 7(简称WP7)平台上的推送通知服务。 首先,我们需要了解Windows Phone的推送通知系统,它基于Microsoft的...

    Windows_Phone_7_使用推送通知

    - 学习如何使用手机的推送通知服务创建订阅Tokens,处理Tiles,Toasts和RAW推送通知。 - 掌握使用Web客户端申请推送通知的技巧。 - 能够使用网络状态显示当前手机的网络情况。 - 创建一个Silverlight应用程序,用以...

    C#+java手机消息推送源码

    消息推送的基本原理是:服务器端将消息发送到推送服务(如Azure Notification Hubs或FCM),推送服务再将消息转发到目标设备。这个过程涉及到设备注册、身份验证、消息格式化、目标筛选等多个步骤。在客户端,应用...

    使用消息推送机制

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

    windows phone 开发书籍及资料

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

    .NET推送消息源码

    `PushSharp`是这样一个开源库,它允许开发者方便地集成多种推送服务,如Google的Firebase Cloud Messaging (FCM)、Apple的Push Notification Service (APNS)以及微软的Windows Phone Push Notification Service。...

    微软消息推送

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

    windows phone 7 code

    7. **推送通知服务 (PNS)**:Windows Phone 7支持微软的推送通知服务,允许应用在后台接收服务器推送的信息。开发者需要设置相应的服务端和客户端接口,实现即时消息传递。 8. **Live Tiles API**:为了更新动态...

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

    在Windows Phone应用开发中,推送通知是连接应用与用户的重要桥梁,它...尽管Windows Phone平台的市场份额已经不如从前,但其推送通知的原理和实现方式对于理解其他移动平台如Android和iOS的推送服务依然具有参考价值。

    极光推送工具

    极光推送工具是一款专为移动开发者设计的便捷通知与消息推送服务测试工具,它涵盖了iOS、Android以及Windows Phone三大主流移动平台。对于开发者而言,能够有效地进行远程推送通知的调试和管理是至关重要的,而这款...

    Windows Phone 概述

    此外,Windows Phone还支持推送通知、更新和随时一瞥的活动瓷片等功能,使得用户可以更加便捷地管理自己的应用程序。 ### 平台增强 随着时间的发展,Windows Phone也在不断进步和完善。例如,在2011年的平台更新中...

    windows phone开发实例源码

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

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

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

    自己动手做Windows Phone 7的软件吧

    5. **通知与推送服务**:MPNS(Microsoft Push Notification Service)允许开发者实现消息推送,如实时更新和提醒。 **LottoPhone项目实例** 从压缩包中的“LottoPhone”文件名来看,这可能是一个彩票相关的应用...

    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 的基础上提供了更多功能。...

    windows phone开发源代码18-24

    Windows Phone的特色之一是动态磁贴(Live Tiles),开发者可以利用推送通知服务更新磁贴内容,提供实时信息。 10. **应用生命周期管理**: 开发者需要理解Windows Phone应用的生命周期,包括启动、暂停、恢复和...

    Windows Phone 7介绍

    - **动态更新:** 磁贴可以实时推送相关信息,如社交网络更新、游戏邀请、未接来电、邮件等。 ##### 开始屏幕的差异化 - **确保快速便捷地访问重要内容:** 用户可以根据自己的需求优先显示重要的信息。 - **个性化...

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

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

Global site tag (gtag.js) - Google Analytics