I am getting the notification when the app is in the foreground but not when the app in the background. Also, I have google-ed/StackOverflow-ed for like 2 hours or more but able to resolves this.
My Configurations are :
firebase_auth: ^0.10.0
firebase_messaging: ^5.0.0
The manifest is like this:
The code is like this:
final notifications = new FirebaseMessaging();
class AppNotifications {
static String fcmToken = '';
static Future<Null> init() async {
appLogs("AppNotifications init");
notifications.requestNotificationPermissions(const IosNotificationSettings(sound: true, badge: true, alert: true));
await configure();
fcmToken = await notifications.getToken();
appLogs("FCM TOKEN : " + fcmToken);
notifications.onTokenRefresh.listen((newToken) {
fcmToken = newToken;
appLogs("FCM TOKEN onTokenRefresh: " + fcmToken);
});
await updateFCMToken();
}
static Future<Null> configure() async {
appLogs("AppNotifications Configure");
notifications.configure(onMessage: (msg) {
appLogs('FCM onMessage: ' + msg.toString());
}, onLaunch: (lun) {
appLogs('FCM onLaunch: ' + lun.toString());
}, onResume: (res) {
appLogs('FCM onResume: ' + res.toString());
});
}
static Future<Null> updateFCMToken() async {
auth.currentUser.fcmToken = fcmToken;
await updateUserInSharedPreference();
}
}
I am calling the function like this:
class HomeScreenState extends State<HomeScreen> {
@override
void initState() {
super.initState();
Future.delayed(Duration(milliseconds: 100), () async {
await AppNotifications.init();
});
}
..... ....
I am using postman for sending the notification :
My logs :
**(App is Foreground)** I/flutter (31888): APPLOGS : FCM onMessage: {notification: {title: Test notification title, body: Test notification body}, data: {status: done, id: 1, foo: bar, click_action: FLUTTER_NOTIFICATION_CLICK}}
**(App is Background)** W/FirebaseMessaging(31888): Missing Default Notification Channel metadata in AndroidManifest. Default value will be used.
Flutter doctor :
[?] Flutter (Channel stable, v1.2.1, on Mac OS X 10.14.4 18E226, locale en-GB)
? Flutter version 1.2.1 at /Users/Ajay/SDK/flutter
? Framework revision 8661d8aecd (3 months ago), 2019-02-14 19:19:53 -0800
? Engine revision 3757390fa4
? Dart version 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)
[?] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
? Android SDK at /Users/Ajay/Library/Android/sdk
? Android NDK location not configured (optional; useful for native profiling support)
? Platform android-28, build-tools 28.0.3
? Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
? Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
? All Android licenses accepted.
[?] iOS toolchain - develop for iOS devices (Xcode 10.2.1)
? Xcode at /Applications/Xcode.app/Contents/Developer
? Xcode 10.2.1, Build version 10E1001
? ios-deploy 1.9.4
? CocoaPods version 1.6.0
[?] Android Studio (version 3.3)
? Android Studio at /Applications/Android Studio.app/Contents
? Flutter plugin version 34.0.1
? Dart plugin version 182.5215
? Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
[!] VS Code (version 1.33.1)
? VS Code at /Applications/Visual Studio Code.app/Contents
? Flutter extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[?] Connected device (1 available)
? ONEPLUS A5000 ? b47e8396 ? android-arm64 ? Android 9 (API 28)
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…