首页 > 解决方案 > Cordova Firebase 插件:安装新应用时,Apple 推送通知有时不起作用

问题描述

我正在构建一个首次使用推送通知的 Cordova 项目的新版本。我使用 'cordova-plugin-firebase' 版本 1.0.5 来处理它们。在 Android 上一切正常,但在 iOS 上我似乎有问题。如果我从 AppStore 下载官方应用程序,然后通过 XCode 将其升级为新版本,则推送通知似乎不起作用(iOS 顶部没有“消息”出现)。如果我打开了应用程序,XCode 调试器会打印推送通知,它看起来像这样:

{
  "collapse_key" = "bundle_ID";
  from = FIREBASE_ID;
  notification = {
    body = "This is a message";
    title = "Message";
  };
  tap = 0;
}

如果我随后关闭 XCode 项目并创建一个新项目(或再次打开这个新创建的项目),并将所有源代码复制到其中并安装 cordova 插件,然后通过 XCode 构建和安装它,推送通知将再次开始工作,并且XCode 调试器中的推送通知如下所示:

{
  aps = {
    alert =         {
        body = "This is a message";
        title = "Message";
    };
  };
  tap = 0;
}

推送通知格式应该不同吗?有没有人遇到过类似的行为,您是如何解决的?

标签: javascriptioscordovamobileapple-push-notifications

解决方案


iOS项目中似乎存在错误或某些东西。当我删除 ios 平台并重新安装它时,一切都开始工作了,直到今天它仍然有效。

此外,Apple 的 APS 具有与 Android 的 FCM 不同的推送通知对象结构。


推荐阅读