我有许多在生产中的 phonegap (CLI-8.0.0) 应用程序,目前正在接收 2019 年的通知,所以是的,它可以工作。
我使用了 Firebase (https://firebase.google.com/docs/cloud-messaging/) 和 phonegap-plugin-push(Android 版本 2.1.3 和 iOS 最新版本)的 3rd 方云消息传递
我们已经在 Android 7 和 8 以及 iOS 12 上测试了以下内容。
使用 C# Firebase API 发送通知。
如何将 Firebase 与 Phonegap 一起使用:
首先你必须为Android安装4个插件:
<plugin name="phonegap-plugin-push" spec="2.1.3" />
<plugin name="cordova-android-support-gradle-release" spec="https://github.com/dpa99c/cordova-android-support-gradle-release.git" />
<plugin name="cordova-android-play-services-gradle-release" spec="https://github.com/dpa99c/cordova-android-play-services-gradle-release.git" />
<plugin name="cordova-android-firebase-gradle-release" spec="https://github.com/dpa99c/cordova-android-firebase-gradle-release.git" />
我使用了 2.1.3 版本的 android 插件,因为上一个版本不适合我。
*-gradle-release 授予您 phonegap-plugin-push 和其他插件之间的完全兼容性,因为经常存在冲突
对于 iOS,我使用了最后一个版本:
<plugin name="phonegap-plugin-push" />
之后,您必须将您的应用注册到 firebase,直到您拥有 sender id 和 google-services.json。
对于苹果,您必须授予您的证书推送通知权限并获得 APNS 证书。
当您拥有 sender id、google-services.json 和 GoogleService-Info.plist 时,您只需像这样配置您的 config.xml:
<platform name="android" custom="push">
<plugin name="cordova-android-support-gradle-release" spec="https://github.com/dpa99c/cordova-android-support-gradle-release.git" />
<plugin name="phonegap-plugin-push" spec="2.1.3">
<param name="SENDER_ID" value="XXXXXXXXXXXXXXXXXXXXXX" />
</plugin>
<plugin name="cordova-android-play-services-gradle-release" spec="https://github.com/dpa99c/cordova-android-play-services-gradle-release.git" />
<plugin name="cordova-android-firebase-gradle-release" spec="https://github.com/dpa99c/cordova-android-firebase-gradle-release.git"/>
<resource-file src="google-services.json" target="/app/google-services.json" />
</platform>
<platform name="ios" custom="push">
<plugin name="phonegap-plugin-push">
<param name="SENDER_ID" value="XXXXXXXXXXXXXXXX" />
</plugin>
<resource-file src="GoogleService-Info.plist" />
</platform>
google-services.json 和 GoogleService-Info.plist 必须与 www 文件夹中的 config.xml 处于同一级别。
在那之后,插件的文档将能够比我更好地帮助你。