0

我想为自己的 iOS 应用程序创建自己的推送通知机制。

我比较了一些服务,比如pushy.me或 Google Firebase。我认为 Pushy 是唯一可以独立于 Apple APN 推送通知的服务,但它使用简单的 HTTP 长轮询请求来接收通知(在 iOS SDK 中)。

但是 Firebase 是如何工作的呢?它仍然依赖于 Apple 的 APNs 吗?它将如何影响我的电池寿命?

4

2 回答 2

1

Firebase Cloud Messaging (FCM) 通过 Apple 的推送通知服务向 iOS 设备发送推送通知。FCM 还扩展了推送通知的功能。FCM 如何扩展?

  • FCM 适用于 iOS 和 Android。如果您有适用于两个平台的应用程序,则该功能很酷;
  • 无需开发用于发送通知、存储 pn 令牌等的后端。只需在 Google Developer Console 中注册您的应用并遵循用户指南即可。要发送推送,只需https://fcm.googleapis.com/fcm/send使用参数执行请求;
  • 广播通知。该应用程序订阅了一个,然后您可以向所有订阅者topic发送通知。topic很酷;
  • 上游消息(向服务器发送数据)

此外,谷歌还有其他可以扩展 FCM 的服务。例如云函数。

我没有发现 FCM 集成对我的应用程序的电池寿命有很大影响。

更新:FCM 框架向 Google 服务发送推送通知令牌(和其他信息)。此外,正如我上面提到的,您可以为特定的topic. 比 Google 知道需要向哪个设备发送推送。有可能在 iOS 中自动设置 FCM(使用方法 swizzling)。FCM 交换AppDelegate方法并知道您的设备 pn 令牌。

于 2018-09-11T11:19:05.583 回答
0

Firebase 云消息传递 (FCM) 利用 APNs(Apple 推送通知服务)将消息传递到 iOS 设备。所以基本上,FCM 包装了 iOS 方法,例如registerForRemoteNotificationsdidReceiveRemoteNotification使用方法调配(顺便说一句,如果你愿意,你可以禁用它,虽然我看不出任何原因......)。

在技​​术方面 - 手机与 APNs 保持开放连接,并且此隧道用于自己发送消息。

于 2019-12-31T14:09:52.343 回答