var ref = new Firebase('<my-firebase-app>/userIds');
ref.once('value', function(snap) {
console.log(snap.numChildren());
});
如果您不想下载数据,可以使用事务来维护总计数。
var ref = new Firebase('<my-firebase-app>');
ref.createUser({ email: '', password: '', function() {
var userCountRef = ref.child('userCount');
userCountRef.transaction(function (current_value) {
// increment the user count by one
return (current_value || 0) + 1;
});
});
然后,您可以实时监听用户:
var ref = new Firebase('<my-firebase-app>/userCount');
ref.on('value', function(snap) {
console.log(snap.val());
});
firebase.initializeApp({...});
var onlineUsers = new Gathering(firebase.database());
gathering.join();
// Attach a callback function to track updates
// That function will be called (with the user count and array of users) every time user list updated
gathering.onUpdated(function(count, users) {
// Do whatever you want
});
5条答案
按热度按时间iecba09b1#
没有内置的方法来获取总用户数。
您可以保留用户ID的索引,然后向下拉取并对其进行计数。然而,这将需要下载所有数据才能获得计数。
然后在下载数据时,可以调用
snapshot.numChildren()
:如果您不想下载数据,可以使用事务来维护总计数。
然后,您可以实时监听用户:
s1ag04yj2#
使用Cloud Functions:
只需注意,云函数事件是在使用自定义令牌创建用户时不触发的。在这种情况下,您需要执行以下操作:
yruzcnhs3#
更新2021
我偶然发现了这个问题,并想分享三种方法来获得注册用户总数。
👀查看控制台
进入console,在身份验证选项卡下,可以直接读取用户列表下的用户数:
56个用户!耶!
使用管理员SDK进行📜
对于对用户数量的编程访问,可能会根据提供商类型、注册日期、上次连接日期进行筛选...您可以编写一个脚本,利用admin SDK中的listUser。
例如,要计算自3月16日以来注册的用户:
💾将用户存储在数据库中
你的应用程序可能已经将用户文档存储在FiRestore、实时数据库或任何其他数据库中。您可以对这些记录进行计数,以获得注册用户总数。(如果你使用FiRestore,你可以阅读my article关于如何计算文档的内容)
vcudknz34#
现在是2022年年中,据我所知,所需的功能仍然不是Node.js管理SDK,但可以从Identity工具包REST API获得。
Louis Coulet建议我查看Firebase控制台,这让我感到惊讶。查看控制台的API调用,我们可以看到有一个“查询”端点可以返回帐户数。
此处记录了端点:https://cloud.google.com/identity-platform/docs/reference/rest/v1/projects.accounts/query
管理员SDK可以提供调用端点所需的访问令牌。请参阅https://firebase.google.com/docs/reference/admin/node/firebase-admin.app.credential.md#credentialgetaccesstoken
与控制台一样,我们提供了一个空查询表达式,并将
returnUserInfo
标志设置为FALSE查询结果为帐户数
ljsrvy3e5#
以下是一个用于此目的的Java脚本模块-https://gist.github.com/ajaxray/17d6ec5107d2f816cc8a284ce4d7242e
在单行中,它所做的是-
在Firebase Web应用程序中保留在线用户列表(和计数)-按独立房间或全球
统计使用此模块的所有用户-