【问题标题】:Best practices for pubnub on androidpubnub 在 android 上的最佳实践
【发布时间】:2012-03-07 19:57:28
【问题描述】:

我使用 pubnub 作为 android 应用程序和服务器之间的发布/订阅通道。 目前我正在考虑如何实现这一点。

我正在使用为 android (https://github.com/pubnub/pubnub-api/tree/master/android) 提供的库,但我认为如果像现在这样使用它,应用程序生命周期会出现一些问题。 (如果我错了,请纠正我)

我正在考虑将其实现为服务

我想要什么

  • 服务必须继续运行,直到最后一次使用应用程序后一小时(可协商)。那是因为我们希望在收到消息时收到通知,但该应用程序不是当前使用的应用程序。

  • 如何在应用程序一小时不活动后停止服务?可能 Android 会杀了它,但我想要一些控制。

  • 服务必须能够在特定消息进入时触发应用程序更改其界面(我正在考虑当我们收到 pubnub 消息时从服务发送意图?),pubnub 将向服务发送数据,所以我需要一种方法来将此数据传递给应用程序(可能将其保存在意图中的 Bundle 中?)

  • 我需要收听多个 pubnub 频道(同时最多 2 个),我想我必须在此服务的多个实例中这样做?

我想我会这样做:

  • 创建一个在应用启动时启动的服务

  • 让服务监听 pubnub 频道

  • 当有消息进来时,发送一个意图并使用意图过滤器

  • 实现广播处理程序以监听这些内部意图

这是正确的方法吗?有什么提示吗?

【问题讨论】:

    标签: android service publish-subscribe pubnub


    【解决方案1】:

    你有一组很好的问题,我将在这个答案中讨论详细的要点。您正在使用 Android,并且您对 PubNub 发布/订阅方案的约定和最佳实践感兴趣。

    您的用例非常常见,构建应用的最佳方式总是因应用需求而异。但是,您绝对有正确的想法并提出了所有正确的问题。您只需要一些示例代码和一个指导来开始实现您的应用程序需求的细节。在列表中定义您的需求:

    • 连接/断开能力。
    • 始终在线的后台服务,可以通过 Android Intent 发送/接收数据并通知其他应用。
    • 同时连接到多个 PubNub 频道。

    所以在开始之前,我将为您提供一些示例和方法的直接链接:

    关于您的想法 - 这正确的方法:

    • 创建一个在应用启动时启动的服务
    • 让服务收听 PubNub 频道。
    • 当有消息进来时,发送一个意图并使用意图过滤器。
    • 实现 BroadcastHandlers 来监听这些内部意图。

    【讨论】:

    • 链接已损坏。你知道这些项目是否仍然可用?
    • 我在github上找到的!:github.com/pubnub/pubnub-api/tree/…
    • @AyrtonSenna 后台服务要求您的移动无线电接收器处于活动状态,然后才能接收 TCP 流量。这意味着您必须在 Android 清单上使用 4 级唤醒锁。您必须对 GCM 执行相同的操作。与 GCM 相比,PubNub 实时网络需要的面糊消耗减少多达 5%,这令人惊叹。您提到的 5 分钟唤醒无关紧要,因为在这种情况下,唤醒锁定设置更有趣。
    • @PubNub 知道了。感谢您的及时回复!
    • @pubnub 你能解释一下,同时连接到多个 PubNub 频道,多一点。使用android进行多路复用是真正的需要。来自 pubnub 团队的一点指导将有助于成倍增长。 ty
    猜你喜欢
    • 2012-02-09
    • 1970-01-01
    • 2012-05-14
    • 2016-08-29
    • 2019-04-26
    • 1970-01-01
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多