【问题标题】:How to get the device token in flutterHow to get the device token in flutter
【发布时间】:2022-12-02 10:29:35
【问题描述】:
I'm trying to get the device token, for this i'm using FirebaseMessaging. here is my code to get the token.
@override
void initState() {
FirebaseMessaging? _firebaseMessaging;
_firebaseMessaging?.getToken().then((token){
print("token is $token");
});
}
but it print nothing. Please help how to do this.
【问题讨论】:
标签:
flutter
firebase
firebase-cloud-messaging
devicetoken
【解决方案1】:
You have to create the FirebaseMessaging instance. Change to:
@override
void initState() {
FirebaseMessaging _firebaseMessaging = FirebaseMessaging.instance; // Change here
_firebaseMessaging.getToken().then((token){
print("token is $token");
});
}
【解决方案2】:
if you want to save token into firestore
final FirebaseMessaging _messaging = FirebaseMessaging.instance;
late String currentToken;
String userId = FirebaseAuth.instance.currentUser!.uid;
@override
void initState() {
_messaging.getToken().then((value) {
print(value);
if (mounted)
setState(() {
currentToken = value!;
});
FirebaseFirestore.instance
.collection('pushtokens')
.doc(userId)
.set({'token': value!, 'createdAt': DateTime.now()});
});