繁体   English   中英

如何将ASP.NET/PushSharp项目转换为Azure以发送推送通知?

[英]How to convert an ASP.NET/PushSharp project to Azure to send push notifications?

我一直在使用ASP.NET和PushSharp通过以下简单代码(在证书配置后)向我的iOS应用客户端发送推送通知:

//ASP.NET + PushSharp
AppleNotification notification = new AppleNotification(PushToken).WithAlert(message);
broker.QueueNotification<AppleNotification>(notification);

这在运行经典IIS / ASP.NET的隔离主机上非常有效,但是现在我正在使用Windows Azure。 当我在Windows Azure上尝试此代码时,通知有时无法发送,重新启动网站(标准模式)会有所帮助。 但是,由于这是一种不可靠的方法,因此我决定移至Azure的Notification Hub服务。 我创建了中心,上载了证书,开始编码,但是找不到与以前的代码等效的代码。 我不需要向所有用户广播消息,我需要将推送通知发送到单个设备,因为我拥有推送令牌。 我看过Windows Azure ServiceBus推送通知APNS体系结构,但是答案中提供的链接非常混乱,我无法理解。 我如何在Windows Azure上将消息简单地推送到推送令牌? 我必须使用通知中心吗? (我不使用VM)欢迎任何简单的方法,首选基于ASP.NET/PushSharp的纯方法,因为我不需要更改整个代码库。

我不确定PushToken是什么样的对象。 通知中心的工作方式不是提供一对一的消息传递模型(您必须在其中标识消息的每个接收者,无论是通过通道,设备令牌还是注册ID),它都提供了一个标签-基于模型。 但是,这并不意味着标签不能为单个用户所独有,实际上,您几乎可以将任何令牌用作标签。

这是一种新模型,不同于Azure移动服务或直接使用APNS,因此不太可能直接从现有代码中移植。 但是,我认为,一旦您了解了标签,“通知中心”模型就很简单。 它支持本机有效负载(由发送通知的服务器构造)和模板有效负载(其中模板由接收设备构造并在注册时提供给Notification Hub,然后服务器在提供模板中的参数时将其提供)将通知发送到模板)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM