【问题标题】:How to convert an ASP.NET/PushSharp project to Azure to send push notifications?如何将 ASP.NET/PushSharp 项目转换为 Azure 以发送推送通知?
【发布时间】:2014-03-18 03:11:30
【问题描述】:

我一直在使用 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 Push Notifications APNS Architecture,但答案中提供的链接非常混乱,我无法理解。我怎样才能简单地将消息推送到 Windows Azure 上的推送令牌?我必须使用通知中心吗? (我不使用 VM)欢迎使用任何简单的方法,首选基于 ASP.NET/PushSharp 的方法,因为我不需要更改整个代码库。

【问题讨论】:

    标签: asp.net azure apple-push-notifications pushsharp azure-notificationhub


    【解决方案1】:

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

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

    【讨论】:

    • 好吧,我认为通知中心有点矫枉过正(而且价格昂贵)。我已经使用了经典的 ASP.NET 和 PushSharp。
    • 有一个免费层的通知中心仍然发送相当多的通知。基本层级为 20 美元/月,即用即付,如果您支付一年,则约为 16 美元/月。对于业余开发者来说,这可能是昂贵的,但对于小型企业或更大的企业来说,这是一个偷窃。
    • 是的,也许吧,但是我现在发送无限的免费通知,为什么要改用昂贵的通知中心系统,我需要学习一个新系统并将我的工作代码移植到该系统?跨度>
    • 不是为了改变你的想法,而是因为其他人可能会关注这个:这是因为通知中心意味着 a) 你永远不必担心 APNS、GCM、WNS、MPNS 和任何亚马逊之间的差异适用于 Kindles 等; b) 如果您碰巧需要,可以无限扩展; c) 设备注册的自动处理(包括删除死令牌等); d) 每月 99.9% 的 SLA。这就是为什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-09
    • 2016-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多