使用 google 帐户和 firebase 集成的应用程序登录
App login with google account and firebase integration
我正在使用 flutter 开发 众筹应用程序。
我完成的第一步(在将 firebase 集成到我的应用程序之后)是登录页面(使用 google 登录)并且它工作正常。
在 firebase 仪表板中,我可以看到登录的用户数量和他们的 activity,但我看不到他们的详细信息(例如他们的名字、姓氏和 google 邮件)。
是否可以在 firebase 仪表板中跟踪这些数据?如果是,我该怎么做?
谢谢
保存其他详细信息,例如:姓名、年龄、性别。
首先您需要为此用户创建一个模型。
在注册过程中,您需要使用 Firestore 保存此信息。
我下面放个代码举例:
在示例中,它是一个 Uber 风格的应用程序,我主要想检索用户名,我想知道它的类型,是 driver 还是乘客。
我使用的是只用邮箱/密码注册的形式,但是没有区别,注册后,看下面的代码,在“.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实例中传输此数据,您需要将此object转换为“映射”。
在模型中,您需要为此转换创建一个方法,请参见下面的示例:
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;
}
我正在使用 flutter 开发 众筹应用程序。 我完成的第一步(在将 firebase 集成到我的应用程序之后)是登录页面(使用 google 登录)并且它工作正常。
在 firebase 仪表板中,我可以看到登录的用户数量和他们的 activity,但我看不到他们的详细信息(例如他们的名字、姓氏和 google 邮件)。 是否可以在 firebase 仪表板中跟踪这些数据?如果是,我该怎么做?
谢谢
保存其他详细信息,例如:姓名、年龄、性别。
首先您需要为此用户创建一个模型。
在注册过程中,您需要使用 Firestore 保存此信息。
我下面放个代码举例:
在示例中,它是一个 Uber 风格的应用程序,我主要想检索用户名,我想知道它的类型,是 driver 还是乘客。
我使用的是只用邮箱/密码注册的形式,但是没有区别,注册后,看下面的代码,在“.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实例中传输此数据,您需要将此object转换为“映射”。
在模型中,您需要为此转换创建一个方法,请参见下面的示例:
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;
}