UWP 推送问题

Last updated 5 months ago

本文主治:什么是UWP推送?怎么做UWP推送?

什么是UWP推送

UWP推送就是这玩意:

UWP推送

那么如何推送呢?

本机离线推送

首先,我在这里向你推荐使用”制作通知模板利器“

Notifications Visualizer
新建一个

我一般选带图片带功能按键的Restaurant

点击Pop toast试试效果

点击Pop toast试试效果,就是开头我们放的那张图片。

看完效果,现在我们来看看代码。

代码与推送一一对应,自己稍作改动好好看一下

欧克,这样本地推送就介绍完了

使用自己的服务器进行推送

接下来 我得向你推荐这篇文章

[Win10应用开发] 使用 Windows 推送服务 (WNS)

上面这篇博客讲的不错,但是我第一次还是有点懵逼,这里我就重复几点重要的,说说我个人感受。

1.如果我们有一台自己的服务器(就是远方的电脑)如果想给你的用户(就是安了你App的人)推送消息,那咋搞啊?又不能跟上面一样一点就推送了。

下面的MPNS就没必要看了,xap是Windows Phone的安装包格式,早就凉凉了

现在我萌有两种推送方式,一种是从自己的服务器发送通知,一种是下面我要讲的使用Azure Mobile App服务进行推送。

好,不瞎扯了,点进仪表板,找到你的应用,点击应用管理-WNS/MPNS-Live服务站点

记住你的密钥
这俩也记下来

然后看看林政老师的源码

https://github.com/SylvesterLi/Syli-Note/tree/master/uwp-learning-notes/linzhen-Demo

填上你的通知地址(不知道通知地址的先把UWP运行起来,我谢谢你)

先自己玩一下,我再来跟你讲这是个啥原理。

流程图

按上图流程来,先讲客户端如何创建通道。

打开PushNotificationDemo,找到MainPage.xaml.cs你就能看到这行代码。

这一行就是创建Channel

然后你要创建一个事件(就相当于 在后台一直等待服务器的消息),用来接收人家服务器发过来的消息。一旦服务器有通知发过来了,就会触发该事件,显示你的通知。

显示你的通知(上面Update是给磁贴用的)

好,客户端就这样结束了,记得把你的Uri(在Debug窗口输出了的)给你的服务器端!

现在讲具体怎么服务器实现

打开PushNotificationServerDemo,找到OAuthHelper.cs

这里拿到用作临时推送的Token,用于身份验证

再打开Form1.cs 这里拿到用作临时推送的Token,用于身份验证。然后Token,body就是你的通知内容

这添加Header用Token验证身份

这一段是发送Body(就是你的通知内容)

写过Http的你一定不陌生,这就是Post数据

还有不懂的就返回去看流程图,再看看。

我第一次做的时候也挺迷的,不过综合了几遍别人写的教程,就搞懂了。

这里推荐一些教程:

https://docs.microsoft.com/zh-cn/windows/uwp/design/shell/tiles-and-notifications/windows-push-notification-services--wns--overview

算了你自己瞎搜吧

记得上Google,用bing国际版也行~

使用Azure的服务进行推送

这个你自己看看,后面我再补吧。。