我使用火力地堡与数据库,认证和云功能模块的Android应用程序。当用户创建通过应用程序配置文件,并设置用户全名, 的火力地堡auth.user API云功能有空DisplayName属性
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
// user signed in
String displayName = user.getDisplayName();
// do whatever with displayName...
} else {
// ....
}
值如预期相当多 - 无论用户放在
我也有一个云功能。这为新用户创建一个数据库记录:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.createUserRecord = functions.auth.user().onCreate(function(event) {
const user = event.data;
const userName = user.displayName || 'Anonymous';
const userSignedUp = (new Date()).toJSON();
console.log('A new user signed up: ', user.uid, userName, userSignedUp);
return admin.database().ref('users').push({
name: `${userName}`,
email: `${user.email}`,
ref: `${user.uid}`,
signup: `${userSignedUp}`
});
});
这个作品大多确定,但双方的日志条目,并在数据库列表Anonymous
名称值所产生的记录。
谁能请告诉我在哪里,我这个问题呢?谢谢。
最好的问候,
〜托多尔
UPDATE:
忘了提,用户与电子邮件/密码提供者创建。
对于我来说,一切看起来都正确。我发现该问题[0]与Firebase中的Google登录相关。也许这是真的给你的?您是否使用Google创建用户? [0] https://github.com/firebase/quickstart-js/issues/19 – StefMa
在Android上,当我创建一个电子邮件/密码的用户,'displayName'为空。你期待它被定义吗?来源是什么? –
我正在使用Android __Firebase UI__进行登录,并在我的应用程序中注册 - 当我在第一次登录时创建帐户时,有一个用于完整用户名的“TextBox”。价值来自那里。这个名字是正确保存在哪里火力地堡验证是节约登录,请通过应用程序代码证明生产_“欢迎回来,!” _'Toast'在随后每次登录......只有云的功能是没有看到这个产权:-( –