如何使用Firestore进行实时位置更新?
我正在尝试在我的Flutter应用程序中实现一个功能,我想与他的朋友分享用户的实时位置(就像 whatsapp 一样)。我怎么能用 Flutter 和 Firestore 做到这一点?每当用户的位置发生更改并在他朋友的应用程序中收听该查询流时,我都尝试将坐标保存到 firestore。但是,这会导致太多的读取和写入。
我可以实现它的最佳方法是什么。我知道我没有共享任何代码,因为我认为没有必要。
如何使用 Flutter 和 Firestore 将特定用户的实时位置推送给他的朋友?
回答
您可以使用此方法:
1- 首次将用户的当前位置存储在 Firestore 中,并将其存储在手机缓存中。
2- 在后台,根据计时器检查用户的位置是否改变了他的位置,这样我们认为每次他将当前位置与存储在缓存中的站点进行比较时,时间为 5 分钟。
3-如果位置发生变化,您可以连接到 Firestore 并存储新位置,如果它没有变化,请不要连接到 Firestore。
在这种方法中,您可以提供基于简单条件的读取和写入。
- Adel's answer is correct, I just want to suggest using the Realtime Database to hold your location data instead of Firestore because the RTDB doesn't charge for each read/write and could be substantially cheaper.