我正在使用 Firebase Function 和 Firebase Cloud Firestore 制作 API。
我正在尝试使用 Firestore 来存储有关不同用户的数据,API 将根据这些数据来决定结果。该 API 将用于检测我的应用程序中的欺诈行为。出于同样的目的,我将使用多个 ID,例如 IMEI 号码、Android ID、UUID 和一个由 mu 应用程序分配的 ID。
我使用多个 ID,因为用户可以轻松更改已 root 的设备上的 Android ID。因此,我将使用多个 ID 来检测特定用户。
但是问题是如何使用 Firestore 来存储用户数据,以便可以定位用户并使用他/她在 Firestore 上的数据进行预测。
我想要实现以下目标:
User(Collection)
|
|-->(IMEI, Android ID, UUID, ID)(Should be searchable using all the IDs)
|
|--> (A)Other Data Such As Activity ETC
|--> (B)Other Data such as Session ETC.
我知道我可以创建一个集合(例如用户)并进一步使用具有任何一个用户 ID 的文档,但是如何创建一个可以使用任何用户 ID 访问的文档? 我不想为同一用户群创建多个文档,因为这会占用我的存储配额。
任何帮助将不胜感激。谢谢!
请您参考如下方法:
只需将不同的 ID
添加到(唯一的)User
文档(作为不同的字段),然后根据 ID
定义不同的查询> 您想用于查询。类似于:
boolean imeiId = false;
boolean androidId = false;
....
//Set the desire ID to true
CollectionReference usersRef = db.collection("users");
Query query = null;
if (imeiId) {
query = usersRef.whereEqualTo("imei_Id", ".....");
} else if (androidId) {
query = usersRef.whereEqualTo("android_Id", ".....");
} else if (uuId) {
...
}