我正在开发一个与 Uber 非常相似的 Android 应用程序。最重要的功能将是位置跟踪(客户设备上的实时驾驶员位置)和基于所覆盖距离的计费,我正在考虑将 Firebase Cloud Function 完全用于我的后端。
是否可以在后端进行所有复杂的计算(定价、覆盖的距离)?把它作为这样的应用程序的后端是个好主意吗?从长远来看,我可能会面临哪些困难?
我正在开发一个与 Uber 非常相似的 Android 应用程序。最重要的功能将是位置跟踪(客户设备上的实时驾驶员位置)和基于所覆盖距离的计费,我正在考虑将 Firebase Cloud Function 完全用于我的后端。
是否可以在后端进行所有复杂的计算(定价、覆盖的距离)?把它作为这样的应用程序的后端是个好主意吗?从长远来看,我可能会面临哪些困难?
使用云功能,您可以实现 geofire 库:
const GeoFire = require('geofire');
const geoDrivers = new GeoFire(admin.database().ref().child('geolocation'));
Geofire 不能存在于云功能中,因此,要进行实时跟踪,您必须在客户端加载 Geofire。通过在云函数中实现 geofire,您将能够计算点 A 和点 B 之间的距离,您将无法跟踪这两者之间的移动。您将能够根据 A 和 B 之间的给定距离计算价格。
此外,通过在云功能中实施 geofire,您将能够查询给定位置内有多少司机,并且每当有新司机进入或退出由纬度、经度和半径确定的查询区域时,您都不会收到通知。