我已经看过很多关于在Phonegap中使用推送通知的教程和论坛帖子,但其中大部分看起来已经过时了。有谁知道今天是否有效(2019年)?
我通过Phonegap创建了Push Notification demo并在我的Android 8设备上运行它。虽然它运行并说“已注册”,但没有样本通知。
我尝试通过CLI发送推送,但也没有用(我被告知this was removed所以将不再有效,尽管Adobe的过时教程页面)
(请注意,Phonegap开发者应用程序表示它与Play商店中的Android 8不兼容,因此必须从其他地方下载APK。这是否表明没有任何效果?)
然后我发现Phonegap有一个“新的”推送服务,我也下载了,只是为了找出那个this is no longer in service either。
所以我现在发现有一些第三方应用程序可以提供推送服务(大多数不是免费的)。服务如“PushWhoose”。
有谁知道,这些第三方服务有用吗?哪些是最可靠的?在Android和iOS的哪些版本上它们有效?
任何帮助赞赏。
我有许多正在生产的phonegap(CLI-8.0.0)应用程序,目前正在接收2019年的通知,所以是的。
我使用了Firebase的第三方云消息传递(https://firebase.google.com/docs/cloud-messaging/)和phonegap-plugin-push(适用于Android的2.1.3版和适用于iOS的最新版本)
我们在Android 7和8以及iOS 12上测试了以下内容。
通过C#Firebase API发送通知。
首先,你必须为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
。
对于apple,您必须向您的证书授予推送通知权限并获得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位于同一级别。
之后,插件的文档将能够比我更好地帮助您。