У меня есть много приложений phonegap (CLI-8.0.0), которые в настоящее время получают уведомления в 2019 году, так что да, это работает.
Я использовал сторонние облачные сообщения от Firebase (https://firebase.google.com/docs/cloud-messaging/) и phonegap-plugin-push (версия 2.1.3 для Android и последняя версия для iOS)
Мы протестировали следующее на Android 7 и 8 и iOS 12.
Уведомления были отправлены с C # Firebase API.
Как использовать Firebase с Phonegap:
Сначала вам нужно установить 4 плагина для Android:
<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
.
Для Apple вы должны предоставить свой сертификат с правами push-уведомлений и получить сертификат 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 должны находиться на одном уровне с вашим config.xml в папке www.
После этого документация плагина сможет помочь вам лучше меня.