Windows 10 通知
Posted
技术标签:
【中文标题】Windows 10 通知【英文标题】:Windows 10 notifications 【发布时间】:2016-03-09 09:27:51 【问题描述】:是否可以在没有安装任何应用程序的情况下向 Windows 10 电脑发送(推送)通知?
我们有 Windows 10 作为标准操作系统,我们想向员工发送通知。
【问题讨论】:
【参考方案1】:Windows 8 及更高版本使用 WNS Web 服务进行推送通知。不幸的是,API 被严重锁定。首先,它不适用于桌面应用程序,因此您需要制作一个 Metro/Modern/Universal 应用程序。
根据 MSDN https://msdn.microsoft.com/en-us/windows/uwp/controls-and-patterns/tiles-and-notifications-windows-push-notification-services--wns--overview 你的电脑运行 wns 后台服务,这是一个始终保持与 wns.windows.com 的 https 连接的程序。
开发者在 MS 上设置了他的应用帐户,并获得了一个唯一的应用 ID。然后他制作应用程序,将他的应用程序 ID 嵌入其中。当用户安装该应用程序时,它将告诉 WNS.windows.com 它想要订阅所有带有该应用程序 ID 标记的消息。
为了向电脑推送消息,开发者向 wns.windows.com 发送消息,指定 appid。 Wns.windows.com 会将消息转发到用户 pc。在本地,WNS 后台服务接收消息,然后决定将该消息传递给哪个应用程序。如果需要,它将启动该应用程序。
回到你的问题。不,不安装应用程序是不可能的。我想您可以连接到 wns 后台服务并拦截消息,但是 wns 的内部工作完全没有文档记录,并且无论如何消息都是由 ssl 保护的。
我能想到的一个更简单的选择是让用户打开一个网站并轮询消息。
很抱歉带来坏消息。
【讨论】:
【参考方案2】:您的应用从通用 Windows 平台请求推送通知通道。
Windows 要求 WNS 创建一个通知通道。此通道以统一资源标识符 (URI) 的形式返回给调用设备。
通知通道 URI 由 Windows 返回到您的应用程序。
您的应用将 URI 发送到您自己的云服务。然后,您将 URI 存储在您自己的云服务上,以便在发送通知时可以访问 URI。 URI 是您自己的应用程序和您自己的服务之间的接口;您有责任使用安全可靠的网络标准来实现此接口。
当您的云服务有更新要发送时,它会使用通道 URI 通知 WNS。这是通过通过安全套接字层 (SSL) 发出 HTTP POST 请求(包括通知负载)来完成的。此步骤需要身份验证。
WNS 接收请求并将通知路由到适当的设备。
【讨论】:
以上是关于Windows 10 通知的主要内容,如果未能解决你的问题,请参考以下文章
windows10定时调起系统通知,每一个小时提醒该喝水了...
背水一战 Windows 10 (121) - 后台任务: 推送通知