当用户未连接到xmpp时,我正在使用FCM通知进行聊天。
FCM中有两种通知模式1。通知消息2。数据消息
如果我的应用程序最近被清除,我将不会使用数据消息作为通知消息
这种方法适用于除奥利奥以外的所有版本。
对于Oreo,我只有在应用程序未连接到xmpp且处于前台时才会收到通知。我的onMessageReception方法正在被调用。
但当该应用程序仅为奥利奥而被删除或从最近的应用程序中删除时,情况并非如此。
编辑:我尝试了一加3设备。
感谢您的帮助。
Oreo引入了通知通道的概念。在这里检查。
在启动时创建一个频道:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
// Create the NotificationChannel
CharSequence name = getString(R.string.channel_name);
String description = getString(R.string.channel_description);
int importance = NotificationManager.IMPORTANCE_DEFAULT;
NotificationChannel mChannel = new NotificationChannel(CHANNEL_ID, name, importance);
mChannel.setDescription(description);
// Register the channel with the system; you can't change the importance
// or other notification behaviors after this
NotificationManager notificationManager = (NotificationManager) getSystemService(
NOTIFICATION_SERVICE);
notificationManager.createNotificationChannel(mChannel);
}
在清单中设置ID:
<meta-data
android:name="com.google.firebase.messaging.default_notification_channel_id"
android:value="@string/notification_channel_id"/>
通知通道id与变量通道id相同
这可能为时已晚,但One Plus手机有一个称为电池优化的功能。一旦你关闭应用程序的电池优化,你就会开始收到后台通知。我的One Plus 5T也有同样的问题。
我正在使用数据消息,正如Firebase文档所建议的,但没有成功...
问题内容: 我在iOS上的FCM通知有问题。 我收到成功通知时,我的应用程序是在前台(回调中被激发),但是当应用程序在后台(我看不出在iOS中的通知栏的任何东西)我没有收到通知。 因此,我认为问题在于FCM发送的消息格式。我的服务器发送到FCM的json格式如下: 如您所见,我的json中有两个块:一个通知块(用于在后台接收通知)和一个数据块(用于在前台接收通知)。 我不明白为什么没有收到后台通知
如何在Android奥利奥继续后台服务而不显示通知点?我使用通知继续我的后台服务,但我不想显示运行服务的通知。
我正在使用Visual Studio+Xamarin开发一个Android应用程序,并尝试在Oreo(API26)上接收后台Firebase云消息通知。 问题 当我的应用程序是后台时,通知不会显示在通知抽屉中(仅在Android API 26 Oreo上)。然而,当应用程序被前景化时,通知是有效的。 注释 FCM通知适用于所有其他构建版本<26,包括后台和前台FCM消息(这些消息出现在通知抽屉中,
我正在将FireBase推送通知集成到我的应用程序中。虽然我收到推送通知(当应用程序在后台时),但我的onMessageRec的(远程消息远程消息)从来没有被调用,无论应用程序是在前台还是后台。如果这是FCM的问题,或者我做错了什么。我在我的应用程序中使用com.google.firebase: Firebase消息传递: 9.0.0build.gradle.我已经在我的应用程序清单中声明了这两个
问题内容: 我正在使用FCM服务器进行远程通知,它可以完美地与发送和接收通知配合使用。 我的问题是,当设备在后台运行时,不会调用此函数。 我尝试过的解决方案: 该功能: 当用户点击通知时调用。否则,它不会被触发。 添加到有效载荷。另外,我尝试了这个值。 这是我的功能代码: func application(_ application: UIApplication, didReceiveRemote