【问题标题】:Ionic Android Notifications StackingIonic Android 通知堆栈
【发布时间】:2016-08-09 04:22:30
【问题描述】:

问题

通知在发送到 android 设备时不会堆叠在托盘中,而是会覆盖属于同一应用的先前未读通知。

正在发送到Ionic 的通知负载。

{  
   "send_to_all":true,
   "profile":"dev",
   "notification":{  
      "title":"Title",
      "message":"Test Message 2!",
      "android":{  
         "collapseKey":true,
         "stack":4,
         "payload":{  
            "type":"annoucement"
         },
         "sound":"default"
      }
   }
}

收到通知对象(使用 adb logcat 在本地查看):

{  
   "sound":"default",
   "title":"Title",
   "message":"Test Message 2!",
   "additionalData":{  
      "payload":{  
         "type":"annoucement"
      },
      "google.message_id":"0:1470668857644329%e03d0952f9fd7ecd",
      "collapse_key":"do_not_collapse",
      "foreground":true
   }
}

我还尝试按照推送插件文档中的建议设置notId,并发送多个带有唯一notId 的通知,如下所示:

输入到离子 API:

{  
   "send_to_all":true,
   "profile":"dev",
   "notification":{  
      "title":"Title",
      "message":"Test Message 2!",
      "android":{  
         "collapseKey":true,
         "stack":4,
         "payload":{  
            "type":"annoucement"
         },
         "sound":"default",
        "data": {
            "notId": 2
        }
      }
   }
}

在 logcat 中看到的输出

{  
   "sound":"default",
   "title":"Title",
   "message":"Test Message 2!",
   "additionalData":{  
      "payload":{  
         "type":"annoucement"
      },
      "data":{  
         "notId":2
      },
      "google.message_id":"0:1470670019771364%e03d0952f9fd7ecd",
      "coldstart":false,
      "collapse_key":"do_not_collapse",
      "foreground":false
   }
}

正如您所看到的,这里没有任何关于堆叠的迹象,所以它不起作用是有道理的,任何人都可以指出我做错了什么或者它实际上是一个错误。

【问题讨论】:

  • 删除“collapse_key”字段

标签: cordova ionic-framework push-notification


【解决方案1】:

如果您发送带有“collapse_key”的通知,然后发送带有相同值的 collapse_key 的新通知,则 gcm(服务器)会覆盖旧通知并仅发送最新通知。所以只需删除“collapse_key”字段。

您可以通过阅读“可折叠消息”here获取有关该主题的更多信息

【讨论】:

  • 这不起作用,我尝试了将collapseKey设置为123的第一个有效负载,然后将collapseKey设置为456重置它,但它仍然覆盖了之前的消息和“collapse_key”总是以“do_not_collapse”的形式出现,
  • @NewUser 您可以尝试删除该字段并再次发送通知吗?
  • @NewUser 你是否在每次推送时增加“notId”,第一个通知必须包含“notId”:1,下一个“notId”:2 等等。
  • 是的,我确实增加了 notId
猜你喜欢
  • 1970-01-01
  • 2017-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多