Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[firebase_messaging] Can't make 5.1.5 to work with instructions. #145

Closed
banfger opened this issue Sep 12, 2019 · 22 comments
Closed

[firebase_messaging] Can't make 5.1.5 to work with instructions. #145

banfger opened this issue Sep 12, 2019 · 22 comments
Labels
impact: crowd Affects many people, though not necessarily a specific customer with an assigned label. (P2) plugin: messaging type: bug Something isn't working

Comments

@banfger
Copy link

banfger commented Sep 12, 2019

Describe the bug
With 5.1.4 I get the notifications succesfully, but I need the background service in my app. The problem is with 5.1.5 I can't even get the basic notifications.

If the Application.java is not set (it is stated as optional), when I get a notification the app crashes with this error:

java.lang.RuntimeException: Unable to create service io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService: java.lang.RuntimeException: PluginRegistrantCallback is not set.
   at android.app.ActivityThread.handleCreateService(ActivityThread.java:3577)
   at android.app.ActivityThread.access$1400(ActivityThread.java:200)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1689)
   at android.os.Handler.dispatchMessage(Handler.java:106)
   at android.os.Looper.loop(Looper.java:201)
   at android.app.ActivityThread.main(ActivityThread.java:6806)
   at java.lang.reflect.Method.invoke(Native Method)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
E/AndroidRuntime(29468): Caused by: java.lang.RuntimeException: PluginRegistrantCallback is not set.
   at io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService.startBackgroundIsolate(FlutterFirebaseMessagingService.java:157)
   at io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService.onCreate(FlutterFirebaseMessagingService.java:77)
   at android.app.ActivityThread.handleCreateService(ActivityThread.java:3565) 

When the Application file is set properly along with the onBackgroundMessage, on app startup I get this:

[ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: PlatformException(error, Attempt to invoke virtual method 'android.app.Application android.app.Activity.getApplication()' on a null object reference, null)
StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7)
MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:316:33)
<asynchronous suspension>
FirebaseMessaging.configure (package:firebase_messaging/firebase_messaging.dart:118:16)
Messaging.configure (package:vonatles/Network/messaging.dart:51:24)
_AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:43:6)
Messaging.configure (package:vonatles/Network/messaging.dart:48:25)
main (package:vonatles/main.dart:18:31)
_AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:43:6)
main (package:vonatles/main.dart:13:10)
_runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:229:25)
_rootRun (dart:async/zone.dart:1124:13)
_CustomZone.run (dart:async/zone.dart:1021:19)
_runZoned (dart:async/zone.dart:1516:10)
runZoned (dart:async/zone.dart:1500:12)
_runMainZoned.<anonymous closure> (dart:ui/hooks.dart:221:5)
_startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:305:19)
_RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)

Flutter doctor:

[√] Flutter (Channel beta, v1.9.1+hotfix.2, on Microsoft Windows [Version 10.0.18362.267], locale hu-HU)
    • Flutter version 1.9.1+hotfix.2 at E:\Programs\FlutterSDK\flutter
    • Framework revision 2d2a1ffec9 (6 days ago), 2019-09-06 18:39:49 -0700
    • Engine revision b863200c37
    • Dart version 2.5.0

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at C:\Users\GERGO\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
    • All Android licenses accepted.

[√] Android Studio (version 3.5)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 39.0.3
    • Dart plugin version 191.8423
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

To Reproduce
Steps to reproduce the behavior:
Following the instructions of firebase_messaging.

Expected behavior
Messaging working properly after following the intstuctions.

Additional context

@banfger banfger added the type: bug Something isn't working label Sep 12, 2019
@Harishpenta
Copy link

i was also facing this issue during the implementation by following the documentation. you can follow this link.
and hope it gives you a move further ahead.

https://stackoverflow.com/questions/57851184/unhandled-exception-nosuchmethoderror-the-method-torawhandle-was-called-on-n?noredirect=1#comment102240498_57851184

@YonatanAmitzur
Copy link

YonatanAmitzur commented Sep 17, 2019

I'm have the "Attempt to invoke virtual method 'android.app.Application android.app.Activity.getApplication()' on a null object reference" issue

i made a super empty example and the issue still happening
code:

//----------------------------------AndroidManifest.xml----------------------------------
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.softenware.flutter_client_app">
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.SEND_SMS"/>
    <application
        android:name=".Application"
        android:label="flutterApp"
        android:icon="@mipmap/launcher_icon">
        <meta-data android:name="com.google.android.geo.API_KEY"
            android:value="AIzaSyC50foAU3Lgi_lZOdi84b1dqArMouY2eeg"/>
        <activity
            android:name=".MainActivity"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
            <meta-data
                android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
                android:value="true" />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
            <intent-filter>
                <action android:name="FLUTTER_NOTIFICATION_CLICK" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>
</manifest>
//---------------------------------------------------------------------------------------
//------------------------------------Application.java-----------------------------------
package com.softenware.flutter_client_app;

import io.flutter.app.FlutterApplication;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
import io.flutter.plugins.GeneratedPluginRegistrant;
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService;

public class Application extends FlutterApplication implements PluginRegistrantCallback {
    @Override
    public void onCreate() {
        super.onCreate();
        FlutterFirebaseMessagingService.setPluginRegistrant(this);
    }

    @Override
    public void registerWith(PluginRegistry registry) {
        GeneratedPluginRegistrant.registerWith(registry);
    }
}
//---------------------------------------------------------------------------------------
//----------------------------------MainActivity.java------------------------------------
package com.softenware.flutter_client_app;

import io.flutter.app.FlutterActivity;
import io.flutter.plugins.GeneratedPluginRegistrant;
import android.os.Bundle;

public class MainActivity extends FlutterActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    GeneratedPluginRegistrant.registerWith(this);
  }
}

//---------------------------------------------------------------------------------------
//--------------------------------------main.dart----------------------------------------
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(
    new Center(
      child: new MyApp(),
    ),
  );
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: "Number Count",
      theme: new ThemeData(
          primarySwatch: Colors.blueGrey
      ),
      home: NewScreen(),
    );
  }
}

class NewScreen extends StatefulWidget {
  @override
  _NewScreenState createState() => _NewScreenState();
}

class _NewScreenState extends State<NewScreen> {

  FirebaseMessaging firebaseMessaging = FirebaseMessaging();
  int _n = 0;

  @override
  void initState() {
    super.initState();

    firebaseMessaging.configure(
      onLaunch: (Map<String, dynamic> message) async {
        print('onLaunch');
      },
      onBackgroundMessage: myBackgroundMessageHandler,
      onMessage: (Map<String, dynamic> message) async {
        print('onMessage');
      },
      onResume: (Map<String, dynamic> message) async {
        print('onResume');
      },
    );
    firebaseMessaging.requestNotificationPermissions(const IosNotificationSettings(sound: true, badge: true, alert: true));
    firebaseMessaging.onIosSettingsRegistered.listen((IosNotificationSettings setting) {
      print('onIosSettingsRegistered: ' + setting.toString());
    });

  }

  static Future<dynamic> myBackgroundMessageHandler(Map<String, dynamic> message) async {
    return Future<void>.value();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
            appBar: AppBar(
              title: Text('New Screen'),
            ),
      body: Container(
        child: new Center(
          child: new Row(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            children: <Widget>[
              new FloatingActionButton(
                onPressed: add,
                child: new Icon(Icons.add, color: Colors.black,),
                backgroundColor: Colors.white,),

              Text('$_n',
                  style: new TextStyle(fontSize: 60.0)),

              FloatingActionButton(
                onPressed: minus,
                child: Icon(
                    const IconData(0xe15b, fontFamily: 'MaterialIcons'),
                    color: Colors.black),
                backgroundColor: Colors.white,),
            ],
          ),
        ),
      )
    );
  }

  void add() {
    setState(() {
      _n++;
    });
  }

  void minus() {
    setState(() {
      if (_n != 0)
        _n--;
    });
  }
}
//---------------------------------------------------------------------------------------

@YonatanAmitzur
Copy link

i managed to get to a point where i dont get the error, for some reason when i removed flutter_downloader: ^1.1.7 from pubspec.ymal (update to ^1.1.7 did not helped)

but when i put the app in the background and i am getting a push notification, the onBackgroundMessage handler is not invoke

can some please explain (due to no documentation), when does the onBackgroundMessage handler supposed to be fire ?

@banfger
Copy link
Author

banfger commented Sep 18, 2019

I've tried to find the issue, and I've created a new project for it, and tried to find the differences, because in the new application everything worked like a charm. What I found is that in my main project I have the 'flutter_typeahead: 1.6.1' plugin, and if I add that to the new project it throws the error and background messages do not work. It adds the keyboard_visibility 0.5.6 plugin too, and in its registerWith() method it throws the getApplication() on a null object error.

public static void registerWith(Registrar registrar) {

     final EventChannel eventChannel = new EventChannel(registrar.messenger(), STREAM_CHANNEL_NAME);
     KeyboardVisibilityPlugin instance = new KeyboardVisibilityPlugin(registrar);
     eventChannel.setStreamHandler(instance);

     registrar.activity().getApplication().registerActivityLifecycleCallbacks(instance);
 }

As I see YonatanAmitzur's flutter_downloader problem is the same, because in its registerWith() method it tries to get the application too.

If I don't set up the flutter_messaging, the flutter_typeahead plugin works without errors. Should I move there with the issue, or stay here?

@cetorres
Copy link

Hi, I could configure well to the point that I can receive push notification with the app terminated (after it runs at least once). The notifications arrive, but when we click on them and it opens the app, it doesn't get the notification payload, doesn't trigger any of the configure methods.

@markuspaschi
Copy link

markuspaschi commented Sep 21, 2019

@cetorres if you receive all messages properly, but the onResume / onLaunch ist not triggered, then you forgot the "click_action" payload in your notification (not possible through firebase console) or didnt specifiy it in your manifest. Check readme.md for the exact implementation :)

@cetorres
Copy link

@markuspaschi I'm sending the "click_action" inside the data in my payload. And I also have it configured correctly in my Android manifest.
I'm receiving the notification in the Android tray system when the app is terminated. Only when I tap on it and the app opens that nothing happens. It was supposed to send the notification payload to a stream I have configured that's being listened on the main screen to show a dialogbox with the data from the notification. It works normally if the app is in foreground or in background, but not terminated.

Please see below:

My payload that's being sent to https://fcm.googleapis.com/fcm/send

{
	"notification": {
		"title": "New Customer",
		"body": "A new customer was created."		
	},
	"priority": "high",
	"data": {
		"click_action": "FLUTTER_NOTIFICATION_CLICK",
		"customer_id": 1,
		"customer_name": "Test Customer",
		"user_name": "John Doe",
		"user_id": 2
	},
	"to": "[DEVICE_ID]"
}

Inside my AndroidManifest.xml

<activity 
android:name=".MainActivity"
...>
...
       <intent-filter>
             <action android:name="FLUTTER_NOTIFICATION_CLICK" />
             <category android:name="android.intent.category.DEFAULT" />
       </intent-filter>
</activity>

@brunoripa
Copy link

brunoripa commented Sep 22, 2019

I have changed NOTHING . in my code and suddenly this error appeared, still haven't fixed :/

@badf007
Copy link

badf007 commented Sep 23, 2019

I'm using Flutter and I'm looking at the "[ZeroHung]zrhung_get_config: Get config failed for wp[0x0008]" that is network related error connected to Honor and Huawei devices, I want to know if the people here having issues with network connectivity, using HTPP package or using other network-related packages ( like firebase) have Honor or Huawei devices too. I have identified 2 models that have this issues ID: COR L29 that's an Honor Play phone and ID: SNE LX3 is a Huawei Mate 20. Thanks and sorry to bother.

@ektelat
Copy link

ektelat commented Sep 29, 2019

all the time my app is terminated an on debug console writen:

D/AndroidRuntime( 2912): Shutting down VM
E/AndroidRuntime( 2912): FATAL EXCEPTION: main
E/AndroidRuntime( 2912): Process: com.thioffices.thioffices, PID: 2912
E/AndroidRuntime( 2912): java.lang.RuntimeException: Unable to create service io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService: java.lang.RuntimeException: PluginRegistrantCallback is not set.

my firebase_messaging: firebase_messaging: ^5.1.6

@banfger
Copy link
Author

banfger commented Sep 29, 2019

Did you write your onBackgroundMessage handler as a global function? If not, you might get this PluginRegistranrCallback error.

@charleshan
Copy link

I'm also having this issue. Yes, I have onBackgroundMessage as a global function.

@sm-tester
Copy link

sm-tester commented Oct 20, 2019

all the time my app is terminated an on debug console writen:

D/AndroidRuntime( 2912): Shutting down VM
E/AndroidRuntime( 2912): FATAL EXCEPTION: main
E/AndroidRuntime( 2912): Process: com.thioffices.thioffices, PID: 2912
E/AndroidRuntime( 2912): java.lang.RuntimeException: Unable to create service io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService: java.lang.RuntimeException: PluginRegistrantCallback is not set.

my firebase_messaging: firebase_messaging: ^5.1.6

I have same error 5.1.6 version. If you add onBackgroundMessage callback will be another error:

E/flutter (14752): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: NoSuchMethodError: The method 'toRawHandle' was called on null.
E/flutter (14752): Receiver: null
E/flutter (14752): Tried calling: toRawHandle()
E/flutter (14752): #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
E/flutter (14752): #1      FirebaseMessaging.configure (package:firebase_messaging/firebase_messaging.dart:122:55)
E/flutter (14752): #2      NotificationHandler.initializeFcmNotification (package:joyla/main.dart:277:8)
E/flutter (14752): #3      _AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:43:6)
E/flutter (14752): #4      NotificationHandler.initializeFcmNotification (package:joyla/main.dart:254:27)
E/flutter (14752): #5      JoylaState.initState (package:joyla/main.dart:155:25)
E/flutter (14752): #6      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4068:58)
E/flutter (14752): #7      ComponentElement.mount (package:flutter/src/widgets/framework.dart:3919:5)
E/flutter (14752): #8      Element.inflateWidget (package:flutter/src/widgets/framework.dart:3101:14)
E/flutter (14752): #9      Element.updateChild (package:flutter/src/widgets/framework.dart:2904:12)
E/flutter (14752): #10     RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:998:16)
E/flutter (14752): #11     RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:969:5)
E/flutter (14752): #12     RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:915:17)
E/flutter (14752): #13     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2328:19)
E/flutter (14752): #14     RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:914:13)
E/flutter (14752): #15     WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:795:7)
E/flutter (14752): #16     runApp (package:flutter/src/widgets/binding.dart:845:7)
E/flutter (14752): #17     main (package:joyla/main.dart:22:2)
E/flutter (14752): #18     _AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:43:6)
E/flutter (14752): #19     main (package:joyla/main.dart:21:18)
E/flutter (14752): #20     _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:229:25)
E/flutter (14752): #21     _rootRun (dart:async/zone.dart:1124:13)
E/flutter (14752): #22     _CustomZone.run (dart:async/zone.dart:1021:19)
E/flutter (14752): #23     _runZoned (dart:async/zone.dart:1516:10)
E/flutter (14752): #24     runZoned (dart:async/zone.dart:1500:12)
E/flutter (14752): #25     _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:221:5)
E/flutter (14752): #26     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:305:19)
E/flutter (14752): #27     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)
E/flutter (14752): 

Conclusion: Firebase Messaging full not works on Flutter, because not variant to use it.

@iapicca
Copy link

iapicca commented Oct 24, 2019

Hi @banfger
I see there's an open issue addressing the case you described.
Please follow up on that issue,
I'm closing the current one as duplicate.
If you disagree please write in the comments
and I will reopen it.
Thank you

@iapicca iapicca closed this as completed Oct 24, 2019
@wmattei
Copy link

wmattei commented Nov 5, 2019

@iapicca it's not the same problem, This error is due to a bug that does not allow you to register plugins when using a custom Main in AndroidManifest.xml. Even though the class inherits from FlutterApplication, currentActivity is always null causing NullPointerException when trying to register a plugin.

@michelebombardi
Copy link

Same @banfger issue problem (the first post) with version 5.1.8. This issue is still present.
Why it has been closed?

@tharit-haup
Copy link

I've tried to find the issue, and I've created a new project for it, and tried to find the differences, because in the new application everything worked like a charm. What I found is that in my main project I have the 'flutter_typeahead: 1.6.1' plugin, and if I add that to the new project it throws the error and background messages do not work. It adds the keyboard_visibility 0.5.6 plugin too, and in its registerWith() method it throws the getApplication() on a null object error.

public static void registerWith(Registrar registrar) {

     final EventChannel eventChannel = new EventChannel(registrar.messenger(), STREAM_CHANNEL_NAME);
     KeyboardVisibilityPlugin instance = new KeyboardVisibilityPlugin(registrar);
     eventChannel.setStreamHandler(instance);

     registrar.activity().getApplication().registerActivityLifecycleCallbacks(instance);
 }

As I see YonatanAmitzur's flutter_downloader problem is the same, because in its registerWith() method it tries to get the application too.

If I don't set up the flutter_messaging, the flutter_typeahead plugin works without errors. Should I move there with the issue, or stay here?

In my case it conflict with flutter_blue. The same as you. Any solution or work-around for this problem.

@iapicca iapicca reopened this Feb 7, 2020
@AxesandGrinds
Copy link

For DomingoMG's answer here

https://stackoverflow.com/questions/59446933/pluginregistry-cannot-be-converted-to-flutterengine/60211138#60211138

and

don't forget to remove

@Override public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) { GeneratedPluginRegistrant.registerWith(flutterEngine);

from the mainactivity file under the android folder. If not, you will get an error.

@xxxNGBxxx
Copy link

I've tried to find the issue, and I've created a new project for it, and tried to find the differences, because in the new application everything worked like a charm. What I found is that in my main project I have the 'flutter_typeahead: 1.6.1' plugin, and if I add that to the new project it throws the error and background messages do not work. It adds the keyboard_visibility 0.5.6 plugin too, and in its registerWith() method it throws the getApplication() on a null object error.

public static void registerWith(Registrar registrar) {

     final EventChannel eventChannel = new EventChannel(registrar.messenger(), STREAM_CHANNEL_NAME);
     KeyboardVisibilityPlugin instance = new KeyboardVisibilityPlugin(registrar);
     eventChannel.setStreamHandler(instance);

     registrar.activity().getApplication().registerActivityLifecycleCallbacks(instance);
 }

As I see YonatanAmitzur's flutter_downloader problem is the same, because in its registerWith() method it tries to get the application too.
If I don't set up the flutter_messaging, the flutter_typeahead plugin works without errors. Should I move there with the issue, or stay here?

In my case it conflict with flutter_blue. The same as you. Any solution or work-around for this problem.

I have the same conflict with flutter_blue. Maybe you found solution to fix it?

@xxxNGBxxx
Copy link

xxxNGBxxx commented Mar 3, 2020

This helped in my project:
in Application.kt

override fun registerWith(registry: PluginRegistry) {
 FirebaseMessagingPlugin.registerWith(registry.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
   }

@ghost
Copy link

ghost commented May 19, 2020

This helped in my project:
in Application.kt

override fun registerWith(registry: PluginRegistry) {
 FirebaseMessagingPlugin.registerWith(registry.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
   }

Can you share your Application.kt & MainActivity.kt code?

Would also be interesting to see what your android:name="" in AndroidManifest.xml is. Can you share that as well?

@Salakar
Copy link
Member

Salakar commented Nov 4, 2020

Hey all 👋

As part of our roadmap (#2582) we've just shipped a complete rework of the firebase_messaging plugin that aims to solve this and many other issues.

If you can, please try out the dev release (see the migration guide for upgrading and for changes) and if you have any feedback then join in the discussion here.

Given the scope of the rework I'm going to go ahead and close this issue in favor of trying out the latest plugin.

Thanks everyone 🤓

@Salakar Salakar closed this as completed Nov 4, 2020
@firebase firebase locked and limited conversation to collaborators Dec 5, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
impact: crowd Affects many people, though not necessarily a specific customer with an assigned label. (P2) plugin: messaging type: bug Something isn't working
Projects
None yet
Development

No branches or pull requests