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) - 后台任务: 推送通知

C#触发windows 10媒体通知

Win10通知区域图标设置;windows10系统图标合并;Windows10系统通知合并

如何在Windows 10中发送通知(电子最佳实践)?

在 Windows 10 uwp 中获取通知来源?