Android 如何设置用户类来处理实时数据库中存储的FCM令牌

Android 如何设置用户类来处理实时数据库中存储的FCM令牌,android,firebase,firebase-realtime-database,firebase-cloud-messaging,Android,Firebase,Firebase Realtime Database,Firebase Cloud Messaging,我正试图使用我的用户对象在Firebase数据库中开发以下数据结构,以便在我的数据库中存储FCM令牌,我不确定如何在用户对象中实现我的FCM令牌数组列表 处理FCM令牌进行存储和检索的最佳方法是什么 公共类用户{ 私有字符串uId; 私有字符串名称; 私人字符串电子邮件; public ArrayList fcmTokens=新的ArrayList(); 公共用户(字符串uId、字符串名称、字符串电子邮件){ this.uId=uId; this.name=名称; this.email=电子邮

我正试图使用我的用户对象在Firebase数据库中开发以下数据结构,以便在我的数据库中存储FCM令牌,我不确定如何在用户对象中实现我的FCM令牌数组列表

处理FCM令牌进行存储和检索的最佳方法是什么

公共类用户{
私有字符串uId;
私有字符串名称;
私人字符串电子邮件;
public ArrayList fcmTokens=新的ArrayList();
公共用户(字符串uId、字符串名称、字符串电子邮件){
this.uId=uId;
this.name=名称;
this.email=电子邮件;
}
公共用户(){
}
公共字符串getUid(){
返回uId;
}
公共void setUid(字符串uId){
this.uId=uId;
}
公共void集合名(字符串名){
this.name=名称;
}
公共字符串getName(){
返回名称;
}
公共字符串getEmail(){
回复邮件;
}
公用电子邮件(字符串电子邮件){
this.email=电子邮件;
}
/////如何实现ARRAYLIST

注册令牌会发生变化。我不认为存储历史令牌的原因有任何用处。另外,另一个问题可能是每次下载user1uid时都会下载所有令牌。因此,我建议这样做

--users
  -user1uid
     -name
     -email
     -fcmtokens
        -user1token:valueofuser1Token
每次用户访问您的应用程序时,通过传递注册令牌在您的主页中调用updateRegistrationToken来更新令牌

  func updateRegistrationToken(registrationToken: String) {
    let userTokenRef = ref.child("users").child(user1uid)
    userTokenRef.setValue(["token": registrationToken])
}
  func updateRegistrationToken(registrationToken: String) {
    let userTokenRef = ref.child("users").child(user1uid)
    userTokenRef.setValue(["token": registrationToken])
}