Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Firestore中的默认值_Android_Firebase_Kotlin - Fatal编程技术网

Android Firestore中的默认值

Android Firestore中的默认值,android,firebase,kotlin,Android,Firebase,Kotlin,我正在使用Firebase为我的Android项目(kotlin)处理身份验证和其他后端调用。只要注册了新用户,它就可以在我的应用程序中免费执行一个操作。这些行动通常需要1个学分 在users集合中,我想为所有新注册的用户设置一个默认值(列积分)。我可以将此信息从我的应用程序发送到firestorm,但我相信这可以进行反向工程,让用户向后端发送更高的默认值 然后我想到了云函数。我可以创建一个函数,在创建新用户时触发该函数 exports.onUserCreated = functions.aut

我正在使用Firebase为我的Android项目(kotlin)处理身份验证和其他后端调用。只要注册了新用户,它就可以在我的应用程序中免费执行一个操作。这些行动通常需要1个学分

在users集合中,我想为所有新注册的用户设置一个默认值(列积分)。我可以将此信息从我的应用程序发送到firestorm,但我相信这可以进行反向工程,让用户向后端发送更高的默认值

然后我想到了云函数。我可以创建一个函数,在创建新用户时触发该函数

exports.onUserCreated = functions.auth.user().onCreate(event => {
    // logic here
});

但我想知道是否还有其他解决这个问题的方法?

使用您在问题中提到的云函数是完全有效的选择

但是,如果您的功能要求是,当用户注册到您的应用程序时,他/她的用户文档(在
users
集合下)必须具有固定的初始分数值,则您可以使用如下方法:

service cloud.firestore {
  match /databases/{database}/documents {

    // ....

    match /users/{userID} {
      allow create: if request.resource.data.score == 5;
      allow update: ...
      allow read: ....
    }
  }
}
根据上述规则,我们将创建文档的条件与更新和读取现有文档的条件分开。请参阅“”上的文档。因此,我们可以很容易地定义
分数
初始值的约束

为此,我们使用
request.resource
变量,该变量“包含文档的未来状态”,请参阅



您可以从9点40分开始观看以下官方视频了解更多详细信息:

使用您在问题中提到的云功能是完全有效的选择

但是,如果您的功能要求是,当用户注册到您的应用程序时,他/她的用户文档(在
users
集合下)必须具有固定的初始分数值,则您可以使用如下方法:

service cloud.firestore {
  match /databases/{database}/documents {

    // ....

    match /users/{userID} {
      allow create: if request.resource.data.score == 5;
      allow update: ...
      allow read: ....
    }
  }
}
根据上述规则,我们将创建文档的条件与更新和读取现有文档的条件分开。请参阅“”上的文档。因此,我们可以很容易地定义
分数
初始值的约束

为此,我们使用
request.resource
变量,该变量“包含文档的未来状态”,请参阅


您可以从9点40分开始观看以下官方视频了解更多详情: