【问题标题】:Is it a good idea to use push notifications for mobile chat applications? (Android, iOS)将推送通知用于移动聊天应用程序是个好主意吗? (安卓、iOS)
【发布时间】:2015-08-22 17:01:57
【问题描述】:

使用推送通知的想法只是有一个通知机制,当有新消息等待从后端服务下载时发送通知:所有通知都是相同类型的,例如“刷新来自服务器的消息”(Android 和 iOS 相同)。

Apple/Google 推送通知服务是否有任何限制? 假设我的应用程序将处理超过 10 万个活跃用户(甚至 100 万或更多用户)——Apple Push Notifications 或 GCM 服务会有什么问题吗?

如果对此类服务使用推送通知不是一个好主意,那么还有什么其他解决方案可以用于移动聊天应用程序?

【问题讨论】:

    标签: push-notification apple-push-notifications google-cloud-messaging chat


    【解决方案1】:

    不要忘记,iOS 用户可能会禁止发送通知,因此您的应用即使在前台也不会收到任何通知。因此,您需要实现自己的推送机制。

    【讨论】:

      【解决方案2】:

      需要推送通知

      尤其是在 iOS 上,您别无选择,只能使用他们的推送通知服务 APNS。没有其他方法可以立即接收通知,因为 iOS 可能会kill or neglect the TCP connections of your background app

      在 Android 上,似乎可以使用您自己的后台 TCP 连接来避免使用推送通知。但您仍可以考虑通过 GCM 使用推送通知,以提高电池使用率。

      定价

      APNS (iOS)GCM (Android) 都不向您收取服务费用,并且您可以发送无限数量的消息。

      限制和要求

      当离线设备的队列中累积的消息过多时,这两种服务都会删除消息 - 这是有道理的,因为在几小时后传递这些消息是没有意义的。在编写应用程序时,您必须考虑到这一点(只需在重新上线时进行民意调查)。

      根据您正在编写的应用程序,还可能存在隐私问题。即使您对消息本身进行了加密,至少 Apple/Google 知道何时将通知发送到某个设备,这可能会破坏某些高安全性应用程序的交易。

      您还需要一个能够与 APNS 和 GCM 通信的服务器。有一些开源解决方案(例如easyApns for iOSpython-gcm for Android),但它们的集成有多容易取决于您的服务器和它所使用的语言。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-14
        • 1970-01-01
        • 2020-05-09
        • 2018-11-14
        • 1970-01-01
        • 2012-10-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多