在 Application.java Flutter FlutterFirebaseMessaging 插件中找不到包



我正在使用火力消息传递。我按照插件自述文件中给出的步骤进行操作。但是我的应用程序.java给出了错误。

应用.java

package com.app.demoapp;
import com.transistorsoft.flutter.backgroundfetch.BackgroundFetchPlugin;
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
import io.flutter.app.FlutterApplication;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugins.GeneratedPluginRegistrant;
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService;
public class Application extends FlutterApplication implements PluginRegistry.PluginRegistrantCallback {
public void onCreate() {
super.onCreate();
FlutterFirebaseMessagingService.setPluginRegistrant(this);
BackgroundFetchPlugin.setPluginRegistrant(this);
}
@Override
public void registerWith(PluginRegistry registry) {
GeneratedPluginRegistrant.registerWith(registry);
}
}

错误:

error: cannot find symbol
FlutterFirebaseMessagingService.setPluginRegistrant(this);                                                     
^                                                                               
symbol:   method setPluginRegistrant(Application)                                                                
location: class FlutterFirebaseMessagingService                                                                  
1 error                                                                                                            

我遇到了同样的问题,到目前为止我还没有找到任何解决方案

但是,如果您只想显示通知而不在后台处理它,然后单击它时只需午餐应用程序

删除FlutterFirebaseMessagingService.setPluginRegistrant(this);,通知将正常工作,因为通知消息类型

如果您不知道 fcm 中的通知类型

请参阅消息类型

使用 FCM,您可以向客户端发送两种类型的消息:

1-通知消息,有时被认为是"显示消息"。 这些由 FCM SDK 自动处理。

2-数据消息,由客户端应用程序处理。

所以我们在这里使用通知消息,直到找到处理数据消息的解决方案

看起来说明文件已经过时了,它缺少一个非常重要的步骤,您可以在 github 存储库自述文件中查看该步骤

在应用级 build.gradle 文件中添加 com.google.firebase:firebase-messaging 依赖项,该文件通常位于/android/app/build.gradle。

dependencies {
// ...
implementation 'com.google.firebase:firebase-messaging:20.1.0'
}

只是设置

import io.flutter.app.FlutterApplication;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
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) {
FirebaseCloudMessagingPluginRegistrant.registerWith(registry);
}
}

并使FirebaseCloudMessagingPluginRegisttrant java

最新更新