从服务器到应用程序的双向直接通信,无需推送通知

时间:2016-02-17 23:55:55

标签: android ios mobile backend

我有一个移动应用程序(iOS和Android),我需要从我的服务器发送一些通知,然后移动应用程序需要完成一些任务,完成后,从移动设备发送消息到服务器进行确认。我曾想过使用推送通知,但问题是如果用户禁用此功能,应用程序将永远不会收到此通知。有人知道一些直接的通信服务器应用程序,但保持安全吗?

2 个答案:

答案 0 :(得分:1)

您可以尝试使用长轮询技术。但它会很快耗尽你的电池,所以要小心。主要的想法是你将connectionTimeout设置为非常长的时间(例如30分钟),并且在服务器说有什么东西之前不关闭该连接。收到答复或超时后,重新打开它。

另一种方法是在服务器上创建一些类似getJobStatus的方法,为您的作业分配一个唯一的ID,并询问服务器是否每隔N分钟完成一次。

答案 1 :(得分:0)

当尝试将客户端与服务器同步时,我们通常需要结合推送和拉取。

你能想到的东西:

  • 服务器提供API,允许客户端获取最新更新。
  • 在客户端,当应用程序处于活动状态时,请使用计时器尝试每N分钟获取一次更新。
  • 当应用在后台时,使用后台提取尝试获取更新。在这种情况下,用户并不关心任务是否立即完成,因为他没有使用它。
  • 当应用从后台变为活动状态时调用getUpdates,以确保在用户开始使用时处理更新。