2019年Android的Phonegap推送通知 - 它有效吗?

问题描述 投票:0回答:1

我已经看过很多关于在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的哪些版本上它们有效?

任何帮助赞赏。

android ios push-notification phonegap
1个回答
1
投票

我有许多正在生产的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发送通知。

如何在Phonegap中使用Firebase:

首先,你必须为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 idgoogle-services.json

对于apple,您必须向您的证书授予推送通知权限并获得APNS证书。

当你有sender idgoogle-services.jsonGoogleService-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位于同一级别。

之后,插件的文档将能够比我更好地帮助您。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.