微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

未从通知托盘中获取捆绑包中的 Pubnub 有效负载当应用程序被杀死时

如何解决未从通知托盘中获取捆绑包中的 Pubnub 有效负载当应用程序被杀死时

我在我的一个项目中集成了 pubnub API。我正在尝试获取我在有效负载中发送的数据包。我为推送通知添加了 FCM。我在所有情况下都会收到推送通知,但在应用程序被终止或在后台时没有收到捆绑数据。应用在前台时已经获取有效载荷对象,但当应用在后台或被终止时未获取任何数据。

有效载荷 1:

{
   "pn_gcm": {
   "notification": {
   "title": "Barack Obama","body": "12","channelName": "Hell 4_656"
   }
 },"firstName": "Barack","lastName": "Obama","displayName": "Barack Obama","profileImageUrl": "abcURL","userId": "173","type": "sender","time": "1615958943297","message": "12"
}

有效负载 2:

{
pn_gcm={
  notification={
  title=BarackObama,body=Hello,image=Hell4_656
  }
  },firstName=Barack,lastName=Obama,displayName=BarackObama,time=1615958740553,type=sender,message=Hello,profileImageUrl=abcURL,userId=173
}

当应用程序在前台时我收到通知对象,但当应用程序在后台或被杀死时没有收到任何通知对象。(获取一些 FCM 认对象)

当从通知托盘启动应用程序时,我试图在包中获取通知对象

回答 像这样制作 JSON 有效负载

  {
"pn_gcm": {
  "notification": {
    "title": "Barack Obama","body": "18"
  },"body": {
    "channelName": "Hell 5_657","profileImageUrl": 
    "http://3.137.127.137/quiqle/uploads/profile/1615523786_4866.jpg","time": "1615965488916","message": "18"
  }
}
}

解决方法

您需要添加 data 以及您希望通过推送到 pn_gcm 接收的信息。 pn_(gcm|apns) 之外的信息(包括 tjpse)将作为常规消息发送

消息可以如下:

使用notification

{
   "pn_gcm":{
      "notification":{
         "title":"Chat invitation","body":"John invited you to chat","sound":"default"
      }
   }
}

或者使用data

{
  "pn_gcm" : {
    "data" : {
      "room" : "Portugal vs Denmark","body" : "great match!"
    }
  }
}

或两者:

{
  "pn_gcm" : {
    "notification": {
      "title":"Portugal vs Denmark","body":"great match!"
    },"data" : {
      "room" : "Portugal vs Denmark","body" : "great match!"
    }
  }
}

有关 datanotification 之间区别的解释,请阅读 FCM 官方文档 About FCM messages

另见: Why are my FCM push notifications not working?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。