应用程序登录与谷歌帐户和firebase集成



我正在开发一个众筹应用程序.我所做的第一步(firebase集成到我的应用程序后)是登录页面(登录与谷歌),它的工作正常。

在firebase仪表板中,我可以看到登录的用户数量和他们的活动,但我不能看到他们的详细信息(例如。他们的名字、姓氏和谷歌邮箱)。是否有可能在firebase仪表板中跟踪这些数据?如果是,我该怎么做?

感谢

保存其他详细信息,例如:姓名、年龄、性别。

首先你需要为这个用户创建一个Model。

在注册过程中,您需要使用Firestore保存此信息。

我将在下面放一个代码,例如:

在这个例子中,它是一个Uber风格的应用程序,我主要想检索用户的名字,我想知道它的类型,是司机还是乘客。

注册界面

我只使用电子邮件/密码注册的形式,但它没有区别,注册后,请参阅下面的代码,在".then",是数据传递到Firestore的地方

void cadastrarUser(Usuario usuario) {
FirebaseAuth auth = FirebaseAuth.instance;
FirebaseFirestore db = FirebaseFirestore.instance;
auth
.createUserWithEmailAndPassword(
email: usuario.email, password: usuario.senha)
.then((firebaseUser) {
db.collection("usuarios").doc(firebaseUser.user.uid).set(usuario.toMap());
switch (usuario.typeUser) {
case "motorista":
Get.toNamed("/painel-motorista");
break;
case "passageiro":
Get.toNamed("/painel-passageiro");
break;
}
}).catchError((error) {
errorMessage =
"Erro ao cadastrar usuário, verifique os campos e tente novamnte!";
});

这个方法接收一个User实例,要从User实例传输这个数据,你需要把这个对象转换成一个"映射"。

在模型中,您需要为这种转换创建一个方法,参见下面的示例:
class Usuario {
String _idUser;
String _nome;
String _email;
String _senha;
String _typeUser;
Usuario();
String checkTypeUser(bool typeUser) {
return typeUser ? "motorista" : "passageiro";
}
Map<String, dynamic> toMap() {
Map<String, dynamic> map = {
"nome": this.nome,
"email": this.email,
"typeUser": this.typeUser
};
return map;
}

相关内容

  • 没有找到相关文章

最新更新