在模拟器中测试本地Firebase推送通知的反应

时间:2020-06-05 12:39:20

标签: reactjs firebase react-native push-notification

根据React Native Firebase文档,推送通知在模拟器中不起作用。 当您在通过电缆连接到PC的真实ios / Android设备上运行应用程序时,即使应用程序外通知(当应用程序处于后台并且您在状态栏中看到通知时)也无法正常工作。 (尽管使用messaging().onMessage,应用内通知仍然有效)

当前行为: 我的Firebase推送通知可以在独立的apk / ipa中在Android和ios上完美运行。 但是,我无法在模拟器上进行开发期间对其进行测试。

期望的行为: 当应用程序在后台在模拟器上运行时,我想接收推送通知(应用程序外通知),以便可以像往常一样使用messaging().onNotificationOpenedApp方法。

我为什么需要这个? 当然,每次我对推送通知进行更改时,都可以创建一个独立的应用程序,将其安装在手机上以查看其工作方式。 这种方法有很多问题:

  1. 这非常耗时,完全没有意义
  2. 如果代码无法按预期运行,则无法检查出什么问题
  3. 通常没有console.log,无法调试代码

2 个答案:

答案 0 :(得分:1)

为了触发 firebase 的 messaging().onNotificationOpenedApp,我使用了以下有效负载 json:

{
  "Simulator Target Bundle": "bundle.identifier",
  "google.c.a.e": 1,
  "foo": "bar",
  "aps": {
      "alert": "Alert!",
      "content-available": 1
  },
  "gcm.message_id": "0:1538488916770554%a88db343a88db34"
}

答案 1 :(得分:0)

最后,您可以在Xcode 11.4和更高版本(Release note)中进行此操作。

Simulator支持模拟远程推送通知,包括 后台内容获取通知。

here可以找到基于本机响应的逐步指南。