iOS 推送通知系统服务器

Posted

技术标签:

【中文标题】iOS 推送通知系统服务器【英文标题】:iOS Push Notification System Server 【发布时间】:2014-01-07 15:53:26 【问题描述】:

我正在寻找为 Unity ios 游戏创建推送通知系统的解决方案。 在这个好tutorial,我看到我需要一个服务器。 目的是提供一般通知,例如应用更新、新内容等...

我有一些问题:

我可以使用什么解决方案来创建通知服务器?似乎 Windows Azure 可以处理,不是吗? 如何管理通知?

谢谢。

【问题讨论】:

【参考方案1】:

Azure 可以通过 移动服务通知中心 中的 APNS(iOS 推送)支持轻松处理您的推送通知需求。移动服务要求您自己进行管理/管理,而通知中心将处理所有这些(显示日志、成功推送的诊断、错误、错误注册)以及与其他功能一样,例如基于标签的注册(允许推送给特定用户等)和模板。 如果您只关注Notifications 并且不需要存储数据,我会考虑Notification Hubs (http://www.windowsazure.com/en-us/documentation/services/notification-hubs/)。 就 Unity 支持而言,Microsoft 目前没有提供任何内容。 但是,BitRave 有一个用于 Azure 移动服务和 Unity 的开源插件 (http://www.bitrave.com/azure-mobile-services-for-unity-3d/)。通知中心 拥有一切(注册推送、触发推送等) ) 通过 REST API 公开,因此如果您习惯使用 Unity 发出 HTTP 请求,连接到 Notification Hubs (http://msdn.microsoft.com/en-us/library/dn223264.aspx) 应该非常简单。

至于触发推送通知,Azure 有很多选择,包括:从 iOS 应用程序触发、使用移动服务、使用网站/云服务/VM。这取决于您可能需要什么样的服务器/触发架构。

【讨论】:

Unity 有一个处理推送通知的系统NotificationServices。但是没有教程,它是否与 azure Notification Hubs 兼容。 听起来它只是客户端(即您的 Unity 应用程序)。您仍然需要通过发出 Web 请求,将您从中获得的令牌发送到您的通知中心。看起来您可以通过 RegisterForRemoteNotificationTypes 方法的 Update 函数执行此操作:docs.unity3d.com/Documentation/ScriptReference/… 我做了一些研究,对通知过程有了一些了解。我需要在服务器上注册设备。但我发现的所有教程都是基于事件的推送通知。例如,是否可以发送通知以通知更新。我认为这需要一种 cron 工作。 您确实需要某种事件来触发推送。无论是运行应用程序的设备告诉您的服务器推出某些内容还是 cron 类型的作业,都取决于您的应用程序的架构。 Azure 移动服务具有一个方便的调度程序功能,用于按预定义的计划或按需运行脚本。您可以随时使用此功能轻松地向您的应用触发推送通知。 不幸的是,我无法让它工作。除了发送通知部分,我按照教程进行操作。我不知道如何在 Unity 生成的 XCode 项目中添加 Windows Azure SDK,因为我没有任何 AppDelegate.h 或 AppDelegate.m。当我调用 RegisterForRemoteNotificationTypes 时,我没有收到任何令牌……我很迷茫,我不知道问题出在哪里。【参考方案2】:

结帐 Parse.com。开发许可证是免费的,您可以获得 100 万次 API 调用和大量推送通知推送。我对 Azure 的体验是,Parse.com 可以做的一些事情非常乏味且难以完成。

【讨论】:

感谢您的回答,我不需要高级推送功能。目的是发送简单的推送通知,例如:“嘿,有游戏更新!”或“嘿,看看新的关卡!”。我们已经有一个 Azure 帐户,这就是我要求使用 Azure 的原因。【参考方案3】:

使用 pushsharp 。这适用于所有设备,而且是免费的

【讨论】:

Pushsharp 只是一个服务器端库。仍然需要将其部署在某个地方(即 Azure、.net 服务器等)

以上是关于iOS 推送通知系统服务器的主要内容,如果未能解决你的问题,请参考以下文章

删除并重新安装应用后,重新生成推送通知权限的 iOS 系统警报

静默推送通知在 ios 13 中不起作用

ios 消息推送流程

iOS - 在收到推送通知事件时更改视图的内容

如何在我的解析服务器上实现 Android 和 IOS 应用程序的预定推送通知?

Xamarin.iOS - 设备关闭时推送通知