我正在从我的服务器发送数据有效负载通知。这是示例:
url= "https://fcm.googleapis.com/fcm/send"
{
"to" : "userToken",
"data" : {
//some json here
}
}
通过这种方式,即使应用程序没有运行,我也可以在所有 Android O 之前的设备中成功向用户发送消息。
但在 Android O 设备上,当应用程序未启动时,不会调用 onMessageReceived...
O 有一些新规则吗?如何修复它?谢谢!
UPDATES
这个问题不是关于通知的,而是关于firebase消息服务的!
无论如何,Android O 的通道也已实现:
val CHANEL_ID = "MY_CHANEL_ID"
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val channel = NotificationChannel(CHANEL_ID, "Channel human readable title", NotificationManager.IMPORTANCE_HIGH)
(getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager).createNotificationChannel(channel)
}
您需要先创建通知通道才能使用。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
/* Create or update. */
NotificationChannel channel = new NotificationChannel("my_channel_01",
"Channel human readable title",
NotificationManager.IMPORTANCE_DEFAULT);
mNotificationManager.createNotificationChannel(channel);
}
此外,仅当您的 targetSdkVersion 为 26 或更高时,您才需要使用通道。
如果您使用的是NotificationCompat.Builder,您还需要更新到支持库的测试版:https://developer.android.com/topic/libraries/support-library/revisions.html#26-0-0-beta2 https://developer.android.com/topic/libraries/support-library/revisions.html#26-0-0-beta2(能够在兼容构建器上调用 setChannelId)。
请小心,因为此库更新将 minSdkLevel 提高到 14。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)