iphone - UrbanAirship 有什么意义?

标签 iphone objective-c ios apple-push-notifications urbanairship.com

我正在研究我正在创建的应用程序的推送通知。我听说过很多关于 UrbanAirship 的信息,但我似乎找不到我应该使用它的明确原因?据我了解,UA是一个中间人? This page显示免费版本没有推送编辑器,因此开发人员仍然需要自己的服务器来创建通知,如果需要他们自己的服务器那么我还不如直接去 APNS?

UA的意义和优势是什么?如果你使用它,你如何在没有自己的服务器的情况下发送通知?

最佳答案

推送通知的有效实现涉及很多事情,例如:

  1. 跟踪设备 ID(设备联系的 Web 服务,存储 ID 的数据库)
  2. 存储与每个设备 ID 关联的元数据(即,您可以通过用户名引用设备或通过标签引用一组设备)
  3. 跟踪哪些设备已停用(如果用户关闭通知,就会发生这种情况)
  4. 清除错误的设备 ID
  5. 实际形成将消息发送到 Apple 服务器的原始请求
  6. 了解何时需要发送通知的某种服务/程序

Urban Airship为您搞定1-5个,大大简化了整个流程。是的,如果你只是向一个设备发送消息,你可能会找到一个 C# 或 python 或 Objective-C 库来连接到 Apple 并形成消息,但是一旦你需要跟踪大量设备, Urban Airship 提供免费服务(如果每月推送次数低于 100 万次),可以减轻您的大量工作。

(这只是针对 iPhone 的基本推送服务,因为这是我使用过的唯一服务)

要回答您的其他问题,您仍然需要一些“服务器”或程序来知道何时推送(#6)。例如,我使用 python 程序监控 Twitter 的关键字,并在我看到这些关键字时发出通知。我的程序不关心如何发送通知的细节,我使用的 Urban Airship 库负责与 Urban Airship 和 Apple 的交互。

关于iphone - UrbanAirship 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6541820/

相关文章:

Objective-C 快速翻译问题

java - 我需要创建一个可以在所有智能手机上运行的智能手机应用程序,我该怎么做?

iphone - iOS 是否支持蓝牙 SPP?

javascript - 运行JS代码以快速获取数据

iphone - 如何在 UIToolBar 上添加 UIActivityView 图标?

objective-c - iOS:当应用程序返回前台时恢复以前可见的 View ?

ios - 我无法捕获 WKWebView 的屏幕截图

ios - 在 AppDelegate 中,主 UIWindow 是如何实例化的?

iphone - UILabel 的变量 IBOutlet 名称?

iphone - 如何在 iPhone 中捕获应用程序不活动时间