首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多次在本体上接收FCM通知

多次在本体上接收FCM通知
EN

Stack Overflow用户
提问于 2018-02-14 10:47:38
回答 2查看 3.8K关注 0票数 3

我在应用程序中使用Firebase推送通知。但是,当我为某些事件发送通知时,我只在本体设备上得到2-3分钟后的多次通知。我在设备上只收到一个通知,这些设备的版本比努格特低。

我检查过服务器一次只发送一个通知。在我的应用程序gradle中,我的依赖度低于。

代码语言:javascript
复制
compile `com.google.firebase:firebase-messaging:11.8.0`

下面是FCM侦听器的代码:

代码语言:javascript
复制
public class MyFcmListenerService extends FirebaseMessagingService {

    @Override
public void onMessageReceived(RemoteMessage remoteMessage) {

  }
}

在清单文件中:

代码语言:javascript
复制
<service android:name="com.myApp.test.fcm.MyFcmListenerService">
  <intent-filter>
     <action android:name="com.google.firebase.MESSAGING_EVENT" />
   </intent-filter>
</service>
EN

回答 2

Stack Overflow用户

发布于 2018-03-08 16:16:41

当我试图从旧的GCM迁移到新的FCM时,这开始发生在我身上。您需要确保删除所有与GCM相关的代码,包括gradle (删除com.google.android.gms:play-services-gcm )和Manifest

(移除:

代码语言:javascript
复制
<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“,并查看您是否从生成的文件中得到点击。

票数 5
EN

Stack Overflow用户

发布于 2019-06-25 17:35:04

同样的事情也发生在我身上,我什么都试过了,但没有成功。

然后我意识到我们从一开始到结束都在存储android设备的所有fcm令牌,而没有验证或删除它们。

我删除了所有fcm令牌并重新登录到我的应用程序中,该应用程序在服务器的db中将一个新的单一令牌插入到FCM令牌列表中。

它工作得很好,我认为FCM应该在发布新的令牌之前使其失效,甚至跨安装、多个apk和多个apk调试会话。

尝试只发送到1个令牌,也可以清理生成并重新安装应用程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48785262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档