IT干货网

android之使用 Firebase Cloud Firestore 数据库

third_qq_acbf90bbd2dede1d 2024年05月06日 编程设计 176 0

我正在使用 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) { 
    ... 
}  


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!