奥利奥没有收到FCM推送消息



我已经实现了FCM。消息在Android N和更低的设备中接收。


依赖性

implementation "com.google.firebase:firebase-messaging:17.1.0"

我已尝试从firebase控制台发送消息。它在Android N中显示,而在Android O中不显示。

我已尝试从服务器发送数据通知。在Android O中没有接到任何关于onMessageReceived()的电话。


显示通知时添加通道

val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
// Since android Oreo notification channel is needed.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val channel = NotificationChannel(channelId,
"CRW notification channel",
NotificationManager.IMPORTANCE_HIGH)
notificationManager.createNotificationChannel(channel)
}
notificationManager.notify(0 /* ID of notification */, notificationBuilder.build())

我已在Samsung S2One plus 6中对此进行了检查。

除了在显示通知时设置通知通道之外,我还需要为Android O做任何额外的事情吗?

您是否将FCM设置为高优先级

将此添加到您的消息正文:

{
...
"priority":"high"
...
}

高优先级。FCM尝试立即传递高优先级消息,允许FCM服务在必要时唤醒休眠设备,并运行一些有限的处理(包括非常有限的网络访问(。高优先级消息通常会导致用户与您的应用程序进行交互。如果FCM检测到他们没有检测到的模式,您的消息可能会被取消优先级。

参考:https://firebase.google.com/docs/cloud-messaging/concept-options#setting-消息的优先级

在服务器端检查此项,推送消息将作为数据有效负载或通知发送对于大于M的android版本,它需要在数据负载中发送通知通过传递发送数据(在服务器端(。当应用程序在后台运行时也适用。

相关内容

  • 没有找到相关文章

最新更新