Solvedflutterfire 🐛 [firebase_messaging][firebase_auth] Data-only messages not received in iOS. Never fires anything in onMessage
24 Answers
Share
Original✔️Accepted Answer
Disabling method swizzling and using the below in my AppDelegate.swift
, fingers crossed but this seems to fix it so that both auth and messaging are functioning as expected. It would be nice to use swizzling but this isn't the end of the world if this is required to make the two work.
pubspec.yaml
:
firebase_auth: ^0.18.0+1
firebase_core: ^0.5.0
firebase_messaging: ^7.0.0
ios/Runner/Info.plist
:
<key>FirebaseAppDelegateProxyEnabled</key>
<false/>
AppDelegate.swift
:
import UIKit
import Flutter
import FirebaseAuth
import FirebaseMessaging
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
if #available(iOS 10.0, *) {
UNUserNotificationCenter.current().delegate = self
}
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
// https://firebase.google.com/docs/auth/ios/phone-auth#appendix:-using-phone-sign-in-without-swizzling
// https://firebase.google.com/docs/cloud-messaging/ios/client#token-swizzle-disabled
override func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
// Pass device token to auth
Auth.auth().setAPNSToken(deviceToken, type: .unknown)
// Pass device token to messaging
Messaging.messaging().apnsToken = deviceToken
return super.application(application, didRegisterForRemoteNotificationsWithDeviceToken: deviceToken)
}
// https://firebase.google.com/docs/auth/ios/phone-auth#appendix:-using-phone-sign-in-without-swizzling
// https://firebase.google.com/docs/cloud-messaging/ios/receive#handle-swizzle
override func application(_ application: UIApplication,
didReceiveRemoteNotification notification: [AnyHashable : Any],
fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
// Handle the message for firebase auth phone verification
if Auth.auth().canHandleNotification(notification) {
completionHandler(.noData)
return
}
// Handle it for firebase messaging analytics
if ((notification["gcm.message_id"]) != nil) {
Messaging.messaging().appDidReceiveMessage(notification)
}
return super.application(application, didReceiveRemoteNotification: notification, fetchCompletionHandler: completionHandler)
}
// https://firebase.google.com/docs/auth/ios/phone-auth#appendix:-using-phone-sign-in-without-swizzling
override func application(_ application: UIApplication, open url: URL,
options: [UIApplication.OpenURLOptionsKey : Any]) -> Bool {
// Handle auth reCAPTCHA when silent push notifications aren't available
if Auth.auth().canHandle(url) {
return true
}
return super.application(application, open: url, options: options)
}
}
Related Issues:
381
flutterfire [firebase_core_web , firebase_auth_web, cloud_firestore_web ] Plugin project :firebase_auth_web not found. Please update settings.gradle.
Hi @gsusI Please add this in flutter app -> android -> settings.gradle if you disagree please write ...
60
flutterfire [FIREBASE_AUTH] 'UserAgent.h' file not found flutter firebase iOS
I changed dependencies try this Don't use ^ in version. I am working on flutter application with fir...
59
flutterfire [firebase_messaging] <Background push notification handling - no implementation found for method FcmDartService#initialized>
So in the new firebase_messaging version support for background messages was added Actually if you d...
57
flutterfire [firebase_auth] iOS verifyPhoneNumber Token mismatch
Same problem with firebase_auth: 0.15.5+3: on the simulator I get the CAPTCHA code and it works ...
38
flutterfire 🐛 [cloud_firestore_web] Collection get throws Error: [cloud_firestore/unknown] NoSuchMethodError: invalid member on null: 'includeMetadataChanges'
I was getting this same issue I did not downgrade my firebase core in the pubspec.yaml ...
37
flutterfire [firebase_auth] iOS doesn't build when upgrade to 1.15.x
I fixed this temporarily by running pod update in ios folder Describe the bug Flutter app doesn't bu...
36
flutterfire 🐛 [firebase_auth] Incompatible with latest flutter_localizations master channel.
For now you can simply add the following to your pubspec.yaml if you need to stay on dev channel and...
34
flutterfire [cloud_firestore] no visible @interface for 'FIRQuery' declares the selector ...
cd ios and run pod update Firebase/Firestore and run build command let me know ...
32
flutterfire [firebase_messaging] Application.kt: Type mismatch: inferred type is PluginRegistry but FlutterEngine was expected
There is a workaround mentioned in: #1613 Replace: To: Also temporary downgrade firebase_messaging t...
31
flutterfire Firebase messaging onResume and onMessage broken on iOS since Flutter 1.7.4
everybody: What would be possible other implications when removing that code? Removing those lines m...
31
flutterfire [firebase_messaging] Application.java:18: error: incompatible types: PluginRegistry cannot be converted to FlutterEngine GeneratedPluginRegistrant.registerWith(registry);
Instead of this method in application.java Put this method : I wanted to add this field to my projec...
29
flutterfire [firebase_auth] Method swizzling problem with phone auth iOS
@cielo Hi Yes i did I got Token mismatch too But when i fixed AppDelegate.swift i solved this error ...
29
flutterfire [firebase_admob 0.11.0+1] XCode Build Fails: Google-Mobile-Ads-SDK-fjgkwjemgangjofelixrcilvndtg
Hey guys I think this is because AdMob recently updated their SDK to 8.0.0(because of this firebase_...
28
flutterfire [firebase_messaging] Type mismatch: inferred type is PluginRegistry? but FlutterEngine was expected
Fixed by replace with: Following the instructions on pub.dev for handling background messages doesn'...
28
flutterfire [firebase_messaging] Android v2 embedding crashes
Why is this not labelled severe? This causes crash dialogs to show periodically when the application...
26
flutterfire 🐛 [firebase_messaging][firebase_auth] Data-only messages not received in iOS. Never fires anything in onMessage
Disabling method swizzling and using the below in my AppDelegate.swift Bug report Describe the bug O...
23
flutterfire 🐛 [firebase_remote_config: 0.4.1] Plugin using removed method, causing app to crash
Fixed for me by using implementation platform('com.google.firebase:firebase-bom') instead of impleme...
22
flutterfire [firebase_messaging] The application cannot be created when I add the Aplication.java
Hi I want to use firebase notifications in my application I'm adding Aplication.java for this After ...
22
flutterfire 🐛 [Crashlytics] iOS build crashes when adding crashlytics
@kuromukira Workaround for Flutter 2.0.4 is to use firebase_crashlytics from git instead of pub.dev ...
21
flutterfire [Cloud Firestore] fatal error: module 'cloud_firestore' not found
I think I managed to workaround the issue I got this error as well after integrating cocoapods mysel...
20
flutterfire Warnings from the cloud_firestore plugin on Android: FirebaseCorePlugin.java uses unchecked or unsafe operations
set: multiDexEnabled true solved for me project/android/app/build.gradle: Steps to Reproduce Create ...
18
flutterfire firebase-messaging: Android Integration
@OliverWangWei Sorry.. It was a mistake to edit the MainActivity.kr file Android Integration I'm not...
18
flutterfire [firebase_crashlytics] Either the Crashlytics plugin doesn't work, or the instruction is wrong
Having the same issue even with a really simple app: I followed the setup instruction from Pub: http...
18
flutterfire 🐛 [firebase_core] java.lang.IllegalArgumentException: Service not registered: com.google.android.gms.measurement.internal.zzji@dbed45a
I get the same error as @kw2019ltd : I get it in a new created flutter project with the only depende...
17
flutterfire [firebase_messaging] version 6.0.7 brokes builds
I solved it. Adding the plugin dependencies in app/build.gradle My project cannot be built or runned...
16
flutterfire [all] Flutter Android build fails with firebase dependencies.
Hey @erluxman I am using Android Studio 3.5 stable java -version 1.8 and this is the issue : I have ...
16
flutterfire [cloud_firestore] INTERNAL ASSERTION FAILED: A transaction object cannot be used after its update callback has been invoked.
Tracked this down to Firebase offline use and Transactions Describe the bug App crash when adding ne...
16
flutterfire [firebase_admob] ads invades safe area and close button is blocked on iPhone X
Having the same problem Temporary solution: Hide status bar when ads are shown Hope this issue will ...
14
flutterfire [firebase_messaging] iOS notification onResume, onLaunch callback not working
@AlexandreRoba @SandyAra same issue exists or your comment solution working fine on firebase_messagi...
14
flutterfire Running Test throws MissingPluginException(No implementation found for method Firebase#initializeCore on channel plugins.flutter.io/firebase_core
So I faced a similar issue in testing Failing to write simple unit test using firebase emulators Yes...
13
flutterfire [firebase_messaging] No documentation for Android v2 embedding backgroundMessage handler
Solved it with following: app/src/build.gradle add the following: implementation com.google.firebase...
13
flutterfire Unable to use onBackgroundMessage in Firebase Cloud Messaging
Finally I got something working! I ended up using a named ReceivePort I am trying to implement an ap...
13
flutterfire 🐛 [CLOUD_FIRESTORE] The service is currently unavailable.
Keeps happening...!! what is going on ? Bug report I'm try to use Firestore with Flutter Deskop (Mac...
12
flutterfire [firebase_in_app_messaging] Can't build for iOS after adding firebase_in_app_messaging
I found out how to fix this Initially Describe the bug The XCode build fails when it's processing th...
8
flutterfire 🐛 [firebase_messaging] iOS Notifications not received in 8.0.0-dev.8
I'm afraid to say that iOS is still completely dead for me on dev.9 Bug report Describe the bug Afte...
7
flutterfire 🐛 [Firebase_auth] Not persisting user on authStateChanges stream after 1.1.2
I agree with @budo385 My app was working fine with firebase_auth 1.1.0 version ...
7
flutterfire [firebase_auth] The reload() function on a FirebaseUser doesn't seem to be working.
Please fix this Hey when calling the .reload() function on a FirebaseUser nothing seems to happen ...
6
flutterfire 🐛 [firebase_crashlytics] Failed to retrieve settings from https://firebase-settings.crashlytics.com
May be it's a 24 hours patience game or try the solution below: Few changes made were: Add implement...
5
flutterfire [<Firebase_Auth>] Unhandled Platform Exception Before Able to Catch SignInWithEmailAndPassword FirebaseAuthException
I am able to replicate this issue on latest stable (1.20.3) while debugging signInWithEmailAndPasswo...
3
flutterfire [Firebase Messaging] onBackgroundMessage Never Called
this is how i have created a Notification Handler Class I followed the tutorial on how to add the li...
3
flutterfire [firebase_messaging] firebase_messaging plugin causing build error in android
@DagobertDokate comment out firebase_messaging: ^5.1.5 run flutter pub get then add firebase_messagi...
3
flutterfire Flutter heads up notification for Android
@abdallahshaban557 @vipinnegi90 For Now use flutter_local_notification to create a notification chan...
3
flutterfire 🐛 [Firebase_Auth] Auth Blocking iOS firebase_messaging dev callbacks
Have the same problem on iOS 😕 Bug report Describe the bug didReceiveRemoteNotification is used in ...
3
flutterfire 🐛 [firebase_messaging] Can't use 3rd party plugins in background handler
@asmodeoux @markusaksli-nc Allright I'm back with a workaround Bug report Describe the bug None of 3...
782
flutter Android dependency 'androidx.core:core' has different version for the compile (1.0.0) and runtime (1.0.1) classpath. You should manually set the same version via DependencyResolution
Still does not work after all the suggestions No joke I know what this problem means but I don't kno...
459
flutter Multiple commands produce '/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.framework
I was able to fix it by opening the Runner workspace project in Xcode 10 Then navigate to File ...
449
flutter App Store iOS submission fails: The bundle Runner.app/Frameworks/App.framework does not support the minimum OS Version specified in the Info.plist
After doing a flutter clean changing MinimumOSVersion (inside /ios/Flutter/AppframeworkInfo.plist) t...
418
flutter 'com.android.support:appcompat-v7' has different version for the compile (26.1.0) and runtime (27.0.1) classpath
is like this i receive an error when i run flutter run My gradle.build file is: flutter doctor: ...
409
flutter Why does my text not wrap?
You have to wrap Column in a flexible Without flexible the column's width is not constrained to the ...
383
flutter Unexpected top padding in ListView put inside scaffold with no appBar
Yeah this is intentional If you put a widget before the ListView you should wrap the ListView with a...
Bug report
Describe the bug
On iOS, it appears that sending a data-only message to FCM is not received at the device, even though the message is successfully sent according to FCM rest API.
This is on a real iOS device and not a simulator. Push notifications are otherwise working great - it's just data-only messages that are not doing anything in iOS. I have full functionality with onLaunch, onMessage, and onResume on iOS and Android, as long as it's a notification. Data-only is only being received on Android though.
Steps to reproduce
Note: in the following examples I've redacted the token.
This message is not received in iOS:
This one does work as expected:
It appears there's no way to receive data-only messages in iOS. It doesn't matter if the app is foregrounded or backgrounded-
onMessage
is never fired.Expected behavior
iOS should work with data messages exactly as it does in Android.
Additional context
Flutter doctor
Run
flutter doctor
and paste the output below:Click To Expand
Flutter dependencies
Run
flutter pub deps -- --style=compact
and paste the output below:Click To Expand