我无法为登录我的应用的用户存储用户令牌。
我已经实现了以下代码,这些代码有助于在Firestore的数据库中创建用户部分和令牌部分。
@override
void initState() {
super.initState();
_saveDeviceToken();
}
_saveDeviceToken() async {
String uid = await widget.auth.currentUser();
String fcmToken = await _firebaseMessaging.getToken();
if (fcmToken != null) {
var tokens = _db
.collection('users')
.document(uid)
.collection('tokens')
.document(fcmToken);
await tokens.setData({
'token': fcmToken,
});
}}
如何从我实现的代码中登录的每个用户那里获取令牌?
答案 0 :(得分:0)
这是我用来做我想你也想做的事情的代码:
首先,获取Firebase Cloud Messaging令牌:
void getFcmToken() async {
String token = await FirebaseMessaging().getToken();
print("Token $token");
if (token != null) {
await Firestore.instance
.collection('users')
.document(userId)
.collection("tokens")
.document(token)
.setData({
'pushToken': token,
});
}}
以下是Firebase身份验证用户ID的代码:
FirebaseAuth.instance.currentUser().then(onCurrentUserLoaded);
FutureOr onCurrentUserLoaded(FirebaseUser value) async {
print("user loaded: ${value}");
if (value == null) {
// no userid found
} else {
// POSSIBLY THIS IS YOUR ISSUE:
_myUserId = value.uid;
}
}