我在将这个插件 (4.0.4+300) 集成到我现有的颤振应用程序中时遇到问题。在这段代码中初始化插件时,我总是收到以下错误:
TokenEventChannel.receiveBroadcastStream()
.listen(_onTokenEvent, onError: _onTokenError);
在 com.huawei.flutter.push/token 频道上激活平台流时,抛出以下 MissingPluginException: MissingPluginException(No implementation for method listen on channel com.huawei.flutter.push/token)
I/flutter (7674): 当异常被抛出时,这是堆栈: I/flutter (7674): #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:154:7) I/flutter (7674):I/flutter(7674):#1 MethodChannel.invokeMethod(包:flutter/src/services/platform_channel.dart:329:12)I/flutter(7674):#2 EventChannel.receiveBroadcastStream。(包:flutter/src/services/platform_channel.dart:519:29)I/flutter(7674):#3 EventChannel.receiveBroadcastStream。
我已按照本教程进行操作: https ://medium.com/huawei-developers/sending-push-notifications-on-flutter-with-huawei-push-kit-plugin-534787862b4d
我的应用程序已经包含了 FCM 推送通知服务,所以我不知道这是否有问题?我想在支持的设备上同时支持 FCM 和 Push Kit。
我将不胜感激解决此问题的任何帮助。
Flutter Doctor 输出如下: [✓] Flutter (Channel stable, v1.17.5, on Mac OS X 10.15.6 19G2021, locale en-ZA) • Flutter version 1.17.5 at /Users/user/Developer/flutter • Framework修订版 8af6b2f038(9 周前),2020-06-30 12:53:55 -0700 • 引擎修订版 ee76268252 • Dart 版本 2.8.4
[✓] Android 工具链 - 为 Android 设备开发(Android SDK 版本 29.0.3) • Android SDK 位于 /Users/user/Library/Android/sdk • 平台 android-30,构建工具 29.0.3 • ANDROID_HOME = /Users/ samuel/Library/Android/sdk • Java 二进制文件位于:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java • Java 版本 OpenJDK 运行时环境(内部版本 1.8.0_212-release-1586-b4 -5784211) • 接受所有Android 许可证。
[✓] Xcode - 为 iOS 和 macOS 开发 (Xcode 11.6) • Xcode 在 /Applications/Xcode.app/Contents/Developer • Xcode 11.6,构建版本 11E708 • CocoaPods 版本 1.9.2
[✓] Android Studio(版本 3.6) • Android Studio 位于 /Applications/Android Studio.app/Contents • Flutter 插件版本 45.1.1 • Dart 插件版本 192.8052 • Java 版本 OpenJDK 运行时环境(内部版本 1.8.0_212-release-1586- b4-5784211)
[✓] VS Code(版本 1.48.2) • /Applications/Visual Studio Code.app/Contents 中的 VS Code • Flutter 扩展版本 3.13.2
[✓] 连接设备(1 个可用) • 为 x86 64 构建的 Android SDK • emulator-5554 • android-x64 • Android 9 (API 28)(模拟器)
• 未发现任何问题!进程以退出代码 0 结束
我在 app/build.gradle 中的 Gradle 依赖项和插件:
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation 'com.google.firebase:firebase-core:17.4.4'
implementation 'com.google.firebase:firebase-messaging:20.2.3'
implementation 'com.google.firebase:firebase-analytics:17.4.4'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
apply plugin: 'io.fabric'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'kotlin-android'
apply plugin: 'com.huawei.agconnect'
在 android/build.gradle 中:
dependencies {
// Example existing classpath
classpath 'com.android.tools.build:gradle:3.5.3'
// Add the google services classpath
classpath 'com.google.gms:google-services:4.3.2'
classpath 'io.fabric.tools:gradle:1.26.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.huawei.agconnect:agcp:1.3.1.300'
}