我在应用程序中使用Firebase推送通知。但是,当我为某些事件发送通知时,我只在本体设备上得到2-3分钟后的多次通知。我在设备上只收到一个通知,这些设备的版本比努格特低。
我检查过服务器一次只发送一个通知。在我的应用程序gradle中,我的依赖度低于。
compile `com.google.firebase:firebase-messaging:11.8.0`下面是FCM侦听器的代码:
public class MyFcmListenerService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
}
}在清单文件中:
<service android:name="com.myApp.test.fcm.MyFcmListenerService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>发布于 2018-03-08 16:16:41
当我试图从旧的GCM迁移到新的FCM时,这开始发生在我身上。您需要确保删除所有与GCM相关的代码,包括gradle (删除com.google.android.gms:play-services-gcm )和Manifest
(移除:
<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" />)
还要确保清理您的项目,并重新构建 it,以删除对GCM类的任何缓存引用。最后那部分我花了两个小时才弄清楚。一个很好的技巧可以是查找所有(⇧⌘F) "GCM“,并查看您是否从生成的文件中得到点击。
发布于 2019-06-25 17:35:04
同样的事情也发生在我身上,我什么都试过了,但没有成功。
然后我意识到我们从一开始到结束都在存储android设备的所有fcm令牌,而没有验证或删除它们。
我删除了所有fcm令牌并重新登录到我的应用程序中,该应用程序在服务器的db中将一个新的单一令牌插入到FCM令牌列表中。
它工作得很好,我认为FCM应该在发布新的令牌之前使其失效,甚至跨安装、多个apk和多个apk调试会话。
尝试只发送到1个令牌,也可以清理生成并重新安装应用程序。
https://stackoverflow.com/questions/48785262
复制相似问题