Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter Flatter、Firebase ios、云消息不';当应用程序在后台时不显示,仅当应用程序在前台时显示_Flutter_Firebase Cloud Messaging - Fatal编程技术网

Flutter Flatter、Firebase ios、云消息不';当应用程序在后台时不显示,仅当应用程序在前台时显示

Flutter Flatter、Firebase ios、云消息不';当应用程序在后台时不显示,仅当应用程序在前台时显示,flutter,firebase-cloud-messaging,Flutter,Firebase Cloud Messaging,我使用的是颤振依赖: firebase_messaging: ^7.0.3 flutter_local_notifications: ^3.0.1+6 我向firebase云发送如下消息: { "to": "/topics/demo_ios" "notification" : { "body" : "Hi there now now", "title" : "Wow

我使用的是颤振依赖:

firebase_messaging: ^7.0.3
flutter_local_notifications: ^3.0.1+6
我向firebase云发送如下消息:

{
"to": "/topics/demo_ios"
"notification" : {
"body" : "Hi there now now",
"title" : "Wow!",
"sound": "default"

},
 "priority": "high"
"data": {
    "title": "Hi there yes",
    "body": "Wow",
}
}
在ios中,当应用程序位于前台时,通知会显示,但在后台时,通知根本不会显示。我试着阅读和修改很多东西,但仍然不起作用。我从xcode设置了后台提取、远程通知和后台处理,但它仍然不起作用

我在plist文件中将FirebaseAppDelegateProxyEnabled设置为false,但没有帮助

我请求许可:

_messaging.requestNotificationPermissions(
  const IosNotificationSettings(sound: true, badge: true, alert: true, provisional: false)
);
_messaging.onIosSettingsRegistered.listen((event) {print('2124: ios Setting registered');});

首先,我建议您将插件更新为
firebase\u消息:^8.0.0-dev.8
,因为这里启用了iOS后台处理。请参见此更改:

  • iOS后台处理程序支持
接下来,如何将所有这些集成到您的Flatter项目中,请遵循官方文档(这是该插件的8.x.x-dev版本之后的文档)

最后,请阅读更多关于APN的内容,因为苹果处理这些消息的方式不同,您需要在脚本中设置
APNSConfig
属性以发送通知

如果您通过FirebaseAdmin发送通知,请阅读

不要忘记,在这种情况下,您需要设置
content\u available=True
,该属性包含在
APNSConfig
属性中,因此基本上,如果您使用的是FirebaseAdmin,您还应该包括与此类似的属性:

apns=messaging.APNSConfig(
        payload=messaging.APNSPayload(
            aps=messaging.Aps(
                alert='alert text',
                sound='s',
                content_available=True,
                mutable_content=True,
                category='c',
                thread_id='t',
                custom_data={
                    'id': 'xxx',
                    'type': 'xxx',
                    'title': 'Robb',
                    'content': 'Axxxx',
                    'image': 'xxx',
                    'deepLink': 'xxxx',
                },
            ),
        )
    ),

我也遇到了同样的问题,试着在testflight上上传IPA文件,然后它就工作了,希望如此。

好吧,解决方案非常简单,代表我来说是个错误

如文档pub.dev所述:

按照Firebase文档中的本指南生成Apple接收推送通知所需的证书。您可以跳过标题为“创建配置文件”的部分

以下是链接:


我忘了执行这些步骤。执行此操作后,它起作用了

欢迎使用颤振,颤振医生无助于解决颤振错误,只帮助安装颤振,您可以删除该部分无问题,已完成。您好,我正在通过http请求与邮递员发送通知,而不是firebase控制台。我是否需要使用内容\u available=true,还有apns?我没有看到任何关于这方面的内容。我相信我的文章的第一部分帮助你解决了最初的问题。关于你关于可用内容的问题的答案在这里详细解释了你应该何时使用它。