加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

推送通知 – 了解Windows Phone 8.1的推送通知

发布时间:2020-12-14 01:53:49 所属栏目:Windows 来源:网络整理
导读:我试图理解在我的服务器上构建需要什么才能使推送通知成功运行. 我的想法是: 手机将通知URL发送到我的服务器 服务器将信息存储在数据库中 单独的进程或PHP脚本将查询数据库并为每个设备打开连续循环过程. (每个套接字将查询第三方API) 如果在该设备的API中
我试图理解在我的服务器上构建需要什么才能使推送通知成功运行.

我的想法是:

>手机将通知URL发送到我的服务器
>服务器将信息存储在数据库中
>单独的进程或PHP脚本将查询数据库并为每个设备打开连续循环过程. (每个套接字将查询第三方API)
>如果在该设备的API中检测到更改,则会将推送通知发送到设备的通知URL.

这是需要做什么的正确方法.这不会占用服务器资源,还是Push推送通知服务器的预期结果?

我在下面的所有内容中制作了一个简单的图表:

解决方法

首先,让我们将过程分为PUSH所需的主要阶段.

>设备订阅.
>发送PUSH
>在设备上处理通知.

订阅

对于订阅,您的设备(更具体地说,您的应用程序)必须调用PUSH api才能启用PUSH通知.对push API的调用将为您提供一个URL,用于唯一标识安装和运行应用程序的设备.您应该将此URL存储在数据库中,与存储用户电子邮件或用户电话号码的方式相同.这里没有特别的黑魔法.您只在需要向用户发送通信时使用它.

发送PUSH

对于推送内容,与电子邮件或SMS消息传递的方法相同:“如果检测到任何更改,则不会简单地进行无限循环并发送消息”.您需要做的是,只需在您的应用程序需要时发送PUSH消息.因此,您拥有要向其发送消息的用户,而不是打开SMTP连接以发送邮件,只需构建PUSH XML消息并调用与该用户关联的URL.这里要考虑的一些事情是:

>网络可靠性(如果无法连接到服务器,则需要重试).
>响应错误代码处理(例如,如果服务器告诉您手机已卸载您的应用程序,则无需重试).
>可扩展性.您不希望从PHP代码发送PUSH消息,因为您不知道完成任务需要多长时间.你必须异步制作这个东西.因此,只需排队所有推送消息,您就可以创建一个单独的进程(Windows服务,nodeJS服务,cron作业,守护进程等)来发送PUSH,处理重试和错误并清理队列.

在Device上处理通知

所以现在你已经到了这么远,你需要在手机上处理通知.这取决于您发送的PUSH通知的类型:

>瓷砖.如果用户已将您的应用程序放入开始屏幕,您将更新应用程序磁贴的图像,文本和计数器.在客户端,您无需任何操作,因为所有这些参数都是您的PUSH请求的一部分.
>吐司.这个需要一个标题,文本(或多或少约35个字符)和APP内部的相对URL.您的应用程序将使用您在有效负载中指定的URI启动(例如,当您单击来自Twitter的Toast通知时).所以这里可以注入一些数据.您可能/或可能不会向服务器请求新数据.它是由你决定.
>原始.这个非常沉默.如果您的APP未运行,用户不会看到.正如您可能猜到的,这种PUSH对于实时更新正在运行的APP非常有用,而不是持续轮询您的服务器,浪费用户电池和带宽并浪费您的服务器资源.您可以发送任何内容(原始字节或字符串),直到我的Microsoft允许的有效负载的最大大小.

如果您有任何疑问,请不要犹豫.

底线:分开PUSH发送,使其异步,你不会忘记……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读