我正在研究以预定义的速率(例如,每10分钟)在Android应用程序和.NET Core Web API之间发送位置数据的选项。
目前,通过将位置发送到API端点,它通过Android Foreground Services工作 - 但是Android 8.0中的所有更改都变得不可靠。
我想知道更好的方法是让API向当前正在跟踪的每个移动设备广播ping,并要求提供位置报告。如果他们在特定时间范围内没有收到位置,则可以认为跟踪会话已终止。
有没有人做过类似的事情?我目前正在考虑https://firebase.google.com/docs/cloud-messaging/来做这件事。
谢谢。
答案 0 :(得分:0)
.NET Core 2.1目前位于preview,但包含对SignalR的支持,允许您像所描述的那样ping所有已连接的设备。
以下是一些samples。我建议阅读this article。
unofficial SignalR client for Android也可用(我还没有测试过)。 SignalR的官方客户是here(我已成功使用Angular中的TypeScript客户端和.Net Core 2.1 Preview 2)。
因此,这可能无法满足您的直接需求,因为它现在处于预览版本中,但是一旦2.1最终发布,它将是此用例的一个很好的选择。