我正在构建一个反应原生应用程序。我想从火力基地发送云消息,但我不能。我准备了项目并安装在我的设备上。其中一个三星另一个是小米。当我发送通知时,我可以在三星上看到,但看不到小米。我也可以使用 fcmToken 发送通知我的虚拟安卓设备。你想要我怎样才能解决这个问题吗?
Firebase Cloud Messagin Console: https://pasteboard.co/IxyD0p3.png
System:
OS: Windows 10
CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
Memory: 1.46 GB / 7.89 GB
Binaries:
Node: 10.15.3 - C:Program Filesnodejsnode.EXE
npm: 6.4.1 - C:Program Filesnodejsnpm.CMD
IDEs:
Android Studio: Version 3.3.0.0 AI-182.5107.16.33.5314842
react-native-cli: 2.0.1
react-native: 0.60.5
app/build gradle dependencies
implementation "com.google.android.gms:play-services-base:16.0.0"
implementation 'com.google.android.gms:play-services-gcm:16.0.0'
implementation "com.google.firebase:firebase-core:16.0.9"
implementation "com.google.firebase:firebase-messaging:19.0.0"
implementation 'com.google.firebase:firebase-analytics:17.2.0'
implementation 'me.leolin:ShortcutBadger:1.1.21@aar'
/build gradle
classpath("com.android.tools.build:gradle:3.4.1")
classpath('com.google.gms:google-services:4.3.2')
FCM 通知有两种类型:通知消息和数据消息。
通知消息如下所示:
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
}
}
}
和触发器方法 OnMessageReceaved(( of FirebaseMessagingService。 许多设备(尤其是华为和小米(试图尽一切努力杀死后台服务以防止电池耗尽。因此,FirebaseMessagingService并不是处理通知的最佳方式。
第二种类型是
数据消息:
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
}
}
}
此类型由系统托盘处理,因此无需运行任何服务即可获取通知。它的方法要方便得多,但据我所知,它无法使用控制台来实现。
您可能需要服务器 API 来发送数据消息。
阅读此内容以获取更多详细信息。