javascript - 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;
}
推送通知格式应该不同吗?有没有人遇到过类似的行为,您是如何解决的?
解决方案
iOS项目中似乎存在错误或某些东西。当我删除 ios 平台并重新安装它时,一切都开始工作了,直到今天它仍然有效。
此外,Apple 的 APS 具有与 Android 的 FCM 不同的推送通知对象结构。
推荐阅读
- git - 将两个 git 存储库与所有历史记录和所有分支合二为一
- swift - 如何在 SwiftUI 中追加到数组?
- ios - 快速错误:无法转换“UnsafeMutablePointer”类型的值
?到预期的参数类型'UnsafeMutablePointer ? - python - Python 3 偶尔会在换行符上拆分 argv
- python-3.x - 用两个自变量计算 numpy 数据的最有效方法
- c - 如何使用 MSYS2 和 Mingw-W64 使 GTK+ 3.0 信号处理程序在 Windows 10 上工作?
- mongodb - 数字 1 或 -1 在字符串字段的索引中意味着什么?
- arrays - 对象在 Datatable 中作为 React 子错误无效
- c++ - 如何从包含 qt 头文件中隐藏智能感知警告
- r - 如何根据大部分时间在哪里为新变量编码?