推动近乎实时的位置更新到许多客户端

时间:2013-04-14 09:37:45

标签: windows-8 xamarin.ios push-notification xamarin.android pushsharp

我目前处于设计跨平台移动应用程序(iOS,Android,WP8)的早期阶段。该应用程序的核心是允许未知数量的客户端设备之间基于邻近的交互。

有人会推荐一种框架或技术,允许我将服务器生成的基于位置的接近警报推送到甚至可以扩展的客户端吗?可以推送通知(使用PushSharp的跨平台)是一个可行的选择,还是推送通知总是与设备上的某种Toast通知同时进行?

更新:应该延迟30秒甚至一分钟。

2 个答案:

答案 0 :(得分:2)

推送通知有很长的延迟,可以为您提供real-time附近的任何内容。此外,推送通知也不能保证到达设备。

您真的需要考虑位置更新应该限制多长时间。您还应该对各种设备上的GPS更新速度进行一些测试。我已经在Nexus 4上进行了测试,它也没有接近实时。因此,在整个应用程序中,无论是服务器端还是客户端,您都会遇到real-time愿望。

但是如果你可以延迟几秒到30秒或更长时间,推送通知我的工作对你来说很好,它们也可以很好地扩展。

修改

  

推送通知总是与某种吐司同时进行   设备上的通知?

有一个名为RAW通知的概念,它允许您使用通知发送任意信息。但是我个人只是通知客户端服务器上的更新,然后它可以获得应用程序所需的所有信息。这是因为正如我所说,Push Notifications不能保证能够到达设备,但也因为您只能在通知中嵌入多少信息。

所以我对流程的建议是:

  1. 客户端A更新其位置并将其发送到网络服务
  2. Web Service从客户A接收信息,并为所有其他客户准备通知,这些客户需要有关客户A的信息并推送有关他们需要更新其信息的信息。
  3. 客户端B收到推送通知,告知它从Web服务刷新数据并执行此操作。
  4. 如果应用程序处于后台状态,这将很有效。当在前台显示时,我会每隔一秒左右轮询一次服务器;仍在接收通知仅强制客户端更新。

答案 1 :(得分:1)

对于“鳞片好”部分,您可能还需要查看Windows Azure Service Bus Notification Hubs。它目前处于预览状态,仅支持Windows 8商店应用和iOS,但对Android和Windows Phone的支持正在进行中。