离子/电容器 - PushNotiifcations - Android - “通知” + “数据” 消息

Posted

技术标签:

【中文标题】离子/电容器 - PushNotiifcations - Android - “通知” + “数据” 消息【英文标题】:Ionic / Capacitor - PushNotiifcations - Android - “notification” + “data” message 【发布时间】:2020-10-02 07:23:35 【问题描述】:

我正在使用 PushNotifications Capacitor 插件和 FCM 发送通知,一切正常,直到我想在 android 上发送带有 notificationdata 字段的推送通知。

我想要做的是发送带有通知的自定义数据并在应用恢复时使用通知。我使用PushNotifications.getDeliveredNotifications() 方法来获取简历上的通知,在ios 上我使用正确的data 获取所有通知,但在Android 上data 属性被以下对象替换:


  body: "My Body",
  data: 
    android.appInfo: "ApplicationInfo809371c app",
    android.bigText: "My Body",
    android.progress: 0,
    android.progressIndeterminate: false,
    android.progressMax: 0,
    android.reduced.images: true,
    android.showChronometer: false,
    android.showWhen: true,
    android.template: "android.app.Notification$BigTextStyle",
    android.text: "My Body",
    android.title: "My Title",
    gameDndOn: false,
    specialType: "",
    topFullscreen: false,
    groupSummary: false,
    id: 0,
    title: "My Title"
  

我在 Android 应用程序的 FCM 文档中看到,如果通知和数据字段都存在并且应用程序在后台,则通知会出现在系统托盘中,数据会出现在 Intent 的附加部分中。

当我点击通知时,我正在获取正确的数据,但在我的情况下,我希望在不点击通知的情况下在简历中获取该数据。

在这种情况下有什么方法可以获取这些数据吗?

【问题讨论】:

Mateusz 运气好吗? 【参考方案1】:

您必须以这种格式创建消息


"message":
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":
      "title":"Portugal vs. Denmark",
      "body":"great match!"
    ,
    "data" : 
      "Nick" : "Mario",
      "Room" : "PortugalVSDenmark"
    
  

注意:notification 结构对于接收通知至关重要。您需要拥有titlebody。这会显示在通知抽屉中。

data 可以根据您的要求定制。这将包含您在应用中需要的数据。

建议,保持你的有效载荷小。通过 FCM 发送绝对必要且安全的数据。

看这部分官方documentation

要在电容器中处理推送通知,您应该使用侦听器。这是official docs 的做法。

【讨论】:

这不是问题,我使用的正是您提供的格式。我也在使用适当的侦听器处理通知。我正在正确接收通知。当应用程序位于前台并且我点击通知时,我确实可以访问data。当我在后台收到通知然后恢复应用程序(但不能通过点击通知)时,我无权访问 data 属性。在这种情况下,有没有办法获得通知data 我认为这与消息的方式有关handled on Android “在后台接收到的同时具有通知和数据负载的消息。在这种情况下,通知被传递到设备的系统托盘,并且数据负载在启动器 Activity 的 Intent 的附加内容中传递。”

以上是关于离子/电容器 - PushNotiifcations - Android - “通知” + “数据” 消息的主要内容,如果未能解决你的问题,请参考以下文章

无法将离子与电容器集成,npm 抛出错误

研究进展:基于阈值降噪和深度神经网络的锂离子电容器寿命预测

离子电容器 qrscanner 活动兼容性

离子电容器版本号

离子电容器广告

无法完成离子电容器添加android命令