我是计算机编程专业的学生,并且正在开发移动应用程序。
我在通知时遇到了一些问题,当我在调试模式下运行我的应用程序时,一切正常。
但是,当我使用“ 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)
}
}
总而言之,在调试模式下,一切正常,但是在发布模式下,它没有收到通知。
感谢阅读。
答案 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 控制台并签署您的项目。