为什么我在android 7上收到多个FCM通知

前端之家收集整理的这篇文章主要介绍了为什么我在android 7上收到多个FCM通知前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在我的项目中集成FCM通知.我有云功能后端,应用程序在 Android上运行.
以下是发送通知的云代码
  1. exports.notificationTest = functions.database.ref(`/test/childA/childB/status`).onUpdate(event => {
  2.  
  3. const status = event.data.val();
  4. console.info("Processing notificationTest cloud function")
  5. console.info(`status : ${status}`)
  6. const token = "EnterYourNotificationTokenHere"
  7.  
  8. const randomNum = Math.floor(Math.random() * 100)
  9. var message = {
  10. notification: { title : "My App",body : `Notification Test ${randomNum}`}
  11. }
  12. console.info(`Sending message on notification token`)
  13. return admin.messaging().sendToDevice(token,message)
  14. .then((response) => {
  15. console.info("Successfully sent notification")
  16. }).catch(function(error) {
  17. console.warn("Error sending notification ",error)
  18. })
  19. })

在原生Android应用上,我会多次收到通知,间隔时间为几分钟.
在这里,我看到过这样的通知

  1. Notification Test 30

然后在2,4,8,16,32分钟之前的通知时间后,我再次得到以下消息

  1. Notification Test 30

我不认为我需要在这里粘贴日志,因为代码肯定只执行一次(因为通知中的随机数保持不变).

那么,为什么会发生这种情况以及如何解决它?

以下是我的环境:

  1. Native Android App
  2. Using Android 7
  3. Latest Android Studio Stable
  4. Android Gradle Plugin - 3.1.1
  5. Gradle - 4.1
  6. Firebase-Ui - 3.1.0
  7. Play Services - 11.4.2

请尝试在上述环境中重现.

解决方法

我的Ionic Android应用程序也出现了同样的问题.在2,4和8分钟后重复相同的通知.这似乎是客户端的问题,因为它甚至直接从Firebase控制台发送消息时发生.

我尝试了几个方法来修复它,似乎我能够按预期工作的唯一方法是创建一个新的Android项目和新的Firebase应用程序.

猜你在找的Android相关文章