Подтвердить что ты не робот

Firebase Cloud Messaging с Ionic-приложением

Я разрабатываю приложение android/ios с использованием ионной структуры (веб-технологий), и я хочу добавить Push Notification с помощью новой функции Firebase FCM.

Сейчас я смотрю следующие документы:

https://firebase.google.com/docs/cloud-messaging/chrome/client#project-setup

который гласит:

  • Веб-сайты в Chrome могут реализовывать push-сообщения через сервис-работников и веб-сайты
  • приложение проявляется по стандарту Webpush. Приложения и расширения Chrome могут получить доступ к службе FCM напрямую через chrome.gcm
    API.

Означает ли это, что я могу использовать его в своем ионном приложении для android/ios, поскольку приложение построено с использованием кордовы?

Также будет очень полезно, если есть какой-либо реализованный пример, я могу видеть и учиться.

Спасибо

4b9b3361

Ответ 1

Я знаю, что этот вопрос уже давно, но только для информации будущих разработчиков мобильных приложений, использующих Ionic framework. Это на 100% работает сейчас, я использовал его в течение последних 3 недель.

Все, что вам нужно, это добавить эти 3 плагина

⁠⁠⁠ionic plugin add cordova-plugin-inappbrowser
ionic plugin add cordova-plugin-fcm
ionic plugin add cordova-plugin-velda-devicefeedback

Затем перейдите в Firebase Console и

  • Создайте новый проект и дайте ему имя;
  • Выберите, какая платформа вам нравится (ios/android);
  • Добавьте Имя пакета, которое является идентификатором вашего app: вы можете увидеть его в своем config.xml (что-то вроде ID = "com.ionicframework.someTest123" ).

Консоль Firebase предоставит вам файл с именем google-services.json.

  • Вставьте его в каталог platform/android/
  • Запустите ionic build android на вашем CLI

Теперь вы можете перейти на страницу уведомлений > новое сообщение

Обязательно выберите приложение (id приложения), которое вы добавили перед отправкой push  уведомления.

Ответ 2

Мне удалось получить эту работу в IOS. Вот что я сделал.

  • Перейдите в Firebase и добавьте новое приложение IOS для обмена облачными сообщениями. Следуйте инструкциям и заполните простую форму для вашего идентификатора приложения и т.д. Вы создадите файл GoogleServices-Info.plist и загрузите его. Игнорируйте материал коко-каподов. Вам это не нужно.

  • Перейдите к своим Ionic-платформам приложений /ios и откройте файл xcodeproject с помощью XCode.

  • Вставьте загруженный файл pls GoogleServices в корень файла проекта Xcode.

  • Run. Или вы можете попробовать сохранить, а затем ionic build ios, ionic emulate ios.

Я добавил старый телефон-подключаемый модуль. Это нужно было удалить из моего config.xml, иначе IOS не будет успешно завершена.

Ответ 3

Вы можете использовать FCM с кордорой без проблем, но для этого требуется написание собственного кода для Android, iOS и других платформ, которые вы хотите использовать. К счастью, сообщество cordova довольно велико, и работа уже завершена. Следующий плагин утверждает, что вы хотите сделать именно то, что вы хотите.

https://www.npmjs.com/package/cordova-plugin-fcm

Я еще не пробовал сам плагин, но readme говорит, что вы можете подписаться на темы из javascript и вызвать функцию onNotification для прослушивания уведомлений, удобно, когда ваше приложение находится на переднем плане.

Ответ 4

Поддержка FCM для JS/браузера основана на API-интерфейсах уведомлений браузера, из которых я не считаю, что у кордовой есть тот, который будет работать изначально. Вы можете и должны использовать FCM для всех платформ, но вам придется работать через добавление поддержки для каждой платформы вручную или дождаться разработки плагина push.

Обновлен плагин pushgold для поддержки FCM: Перенести на Firebase Cloud Messaging # 929

В качестве альтернативы вы можете использовать старую платформу GCM с плагином для телефонных разговоров уже, но вам нужно будет обновить API-адрес push-сервера на стороне сервера, чтобы использовать FCM, как только плагин будет готов.