【问题标题】:Flutter / Firebase Messaging. : Not pushing notification when I run my App on release modeFlutter / Firebase 消息传递。 :当我在发布模式下运行我的应用程序时不推送通知
【发布时间】:2021-02-23 01:14:01
【问题描述】:

我是一名计算机编程专业的学生,​​正在使用 Flutter 制作移动应用。

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

但是,当我使用“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)
  }
}

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

感谢阅读。

【问题讨论】:

  • 您是否关注了 fcm 插件的 iOS 集成部分?您是否将应用的​​ APN 密钥添加到 Firebase 控制台?
  • 是的,我什么都做了,所以我告诉过你它在调试模式下完美运行。
  • 只是为了尝试,您可以发送一个firebase控制台的通知并检查吗?
  • @DaegilPyo 这对您来说可能听起来很奇怪,但是您的 firebase 应用程序的名称是什么?是否包含 dev 或 test 之类的词
  • @HasilT 不,我的应用名称中没有那个词..

标签: firebase flutter firebase-cloud-messaging


【解决方案1】:

这是所有 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 控制台并签署您的项目。

【讨论】:

    猜你喜欢
    • 2021-06-07
    • 1970-01-01
    • 2018-11-02
    • 2020-12-31
    • 2020-05-09
    • 2020-12-21
    • 1970-01-01
    • 1970-01-01
    • 2019-12-30
    相关资源
    最近更新 更多