我像往常一样将Firebase添加到我的项目中,但是这次我遇到了FCM问题:当我通过控制台在特定主题上发送一个FCM通知(经典推送或内部包含有效载荷/数据)时,Systray( (当应用程序处于后台运行时)在我的Android手机上显示2条通知。
我已经在这个问题上寻找了很多类似的问题,但是没有答案可以解决我的问题:
1)我不使用以下权限
<uses-permission android:name="mypackage.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission
android:name="mypackage.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
2)我尝试删除SHA-1密钥(我有4个密钥,其中3个SHA-1一个SHA-256)以仅保留一个(我认为多个密钥=多个client_id =多个notif收到),然后生成了一个新的google-service.json,删除app / clean / rebuild / install,但我仍然收到2条通知。
3)我检查了一个扩展了FirebaseMessagingService的类,并收到了完全相同的两次推送(相同的发送日期,messageid,主题等)
其他信息:
我使用以下版本的Google Play服务和Firebase:
实现'com.google.android.gms:play-services:12.0.0' 实施'com.google.android.gms:play-services-location:12.0.0' 实施'com.google.firebase:firebase-messaging:12.0.0' 实施'com.google.firebase:firebase-core:12.0.0' 实施'com.google.firebase:firebase-auth:12.0.0' 实施'com.google.firebase:firebase-invites:12.0.0'
我以为它可以在最新版本的Firebase中修复,但是将所有内容更新到最新版本使我在无法轻松修复的Android O(屏幕方向错误)上崩溃(并且我不能保证这将是解决方案)。