Flutter / Firebase消息传递。 :在发布模式下运行我的应用程序时不推送通知

时间:2020-11-11 03:31:04

标签: firebase flutter firebase-cloud-messaging

我是计算机编程专业的学生,​​并且正在开发移动应用程序。

我在通知时遇到了一些问题,当我在调试模式下运行我的应用程序时,一切正常。

但是,当我使用“ flutter run --release”此命令在发布模式下运行应用程序时,

我的应用未收到通知。我正在使用Firebase消息传递程序包推送通知。

我在另一个程序员的代码中发现的是在AppDelegate.swift上添加了application.registerForRemoteNotifications()代码,但实际上没有区别...

如何解决此问题?

import UIKit
import Flutter

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    GeneratedPluginRegistrant.register(with: self)
    application.registerForRemoteNotifications() 
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}

总而言之,在调试模式下,一切正常,但是在发布模式下,它没有收到通知。

感谢阅读。

1 个答案:

答案 0 :(得分:0)

这是所有 Flutter 开发人员的常见问题,因为我们大多数人都使用 VS Code 或其他轻量级 IDE 来开发而不是使用 android studio。 如Google Developers Website 中所述,签署您的应用程序的简单直接方式。

只需前往您的 IDE 终端并输入 cd android,然后输入 ./gradlew signingReport 确保您的“google-services.json”文件确实包含您唯一的 SHA1 密钥,您可以通过前往您的 C->Program Files->Java->javaversion->bin 然后在此目录中运行终端并写入命令

keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore" 

用于窗户。这将显示您的 SHA1 密钥,前往 google firebase 控制台并签署您的项目。