PhoneGap Push-уведомления для Android в 2019 году - это работает? - PullRequest
0 голосов
/ 07 марта 2019

Я видел много уроков и сообщений на форуме об использовании Push-уведомлений с PhoneGap, но большинство из них, похоже, устарели. Кто-нибудь знает, работает ли это сегодня (2019)?

Я создал демо Push Notification через Phonegap и запустил его на своем устройстве Android 8. Пока он работает и говорит «Зарегистрирован», образец уведомления отсутствует.

Я попытался отправить push-сообщение через интерфейс командной строки, но это тоже не сработало (мне сказали это было удалено , поэтому больше не будет работать, несмотря на устаревшую страницу учебника Adobe)

(обратите внимание, что приложение Phonegap Developer говорит, что оно не совместимо с Android 8 в магазине Play Store, поэтому пришлось загружать APK из другого места. Это был знак того, что ничего не будет работать?)

Затем я обнаружил, что существует «новый» push-сервис для Phonegap, который я также скачал, только чтобы выяснить, что он больше не обслуживается либо .

Так что СЕЙЧАС я обнаружил, что есть некоторые сторонние приложения, которые могут предоставлять услуги push (в основном, не бесплатные). Такие службы, как " PushWhoose ".

Кто-нибудь знает, работают ли эти сторонние сервисы? Какие из них наиболее надежны? А на каких версиях Android и iOS они работают?

Любая помощь приветствуется.

1 Ответ

1 голос
/ 07 марта 2019

У меня есть много приложений 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.

После этого документация плагина сможет помочь вам лучше меня.

...