【发布时间】:2021-01-17 00:58:05
【问题描述】:
FCM getToken() 在真实设备上总是返回 null,但在模拟器上工作得很好,我不知道是什么原因造成的。这是我如何使用getToken():
FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
String fcmToken = "";
await _firebaseMessaging.getToken().then((value) async {
fcmToken = value;
if (fcmToken != "") {
await _userCollection.doc(user.id).set({
'email': user.email,
'name': user.name,
'noHp': user.noHp,
'alamat': user.alamat,
"email_verification": user.emailVerification,
"phone_verification": user.phoneVerification,
"device_token": fcmToken,
});
}
return;
});
我使用的真实设备是 Android Marshmallow。
【问题讨论】:
-
你在哪里返回令牌?上面的sn-p只获取和设置数据,没有返回,但最后一个
return是空的 -
我用它来立即设置 device_token,它在模拟器上工作得很好。
-
我应该这样使用它吗:
String fcmToken = await _firebaseMessaging.getToken().then((value) async { return value; });? -
有点,但是当您立即设置它时,这不会有太大变化,但是按照您提到的添加
.catch(err)尝试它,这样您就可以检测是否发生了一些错误 -
好主意,我试试
标签: firebase flutter firebase-cloud-messaging