Используйте Центр уведомлений Azure с Firebase и iOS (не APNS) - PullRequest
0 голосов
/ 23 октября 2019

Я рассматриваю использование Azure Notifications Hub для регистрации устройств на сервере. Я думал об использовании Firebase для работы как с Android, так и с iOS, поскольку у него есть для этого возможности. Я использую ionic, поэтому буду использовать плагин firebase.

Можно ли отправлять уведомления гноя из Azure Notification Hub в iOS через firebase или он должен проходить только через APNS?

Ответы [ 2 ]

1 голос
/ 24 октября 2019

Концентраторы уведомлений Azure отправляют уведомления Android через FCM и уведомления macOS / iOS через службу Apple Push Notification (APN).

Концентраторы уведомлений Azure не были протестированы, отправляя уведомления APNS через Firebase Cloud Messaging (FCM);это не поддерживаемая конфигурация.

Если вы не возражаете, я спрашиваю, что именно в FCM заставляет вас отправлять уведомления Apple через него? Все, что делает, это добавляет дополнительный уровень сложности поверх того, что ANH уже делает довольно хорошо.

0 голосов
/ 25 октября 2019

@ AndySousa Я ответил на ваш вопрос на форумах Azure на ту же тему - скопировал ответ здесь:

Я пытаюсь опубликовать пост в блоге по этому вопросу, но для Ionic 4 вот что я узнал:

Команда Ionic внесла много изменений в фреймворк и выпустила Capacitor, альтернативу для Apache Cordova. Capacitor по-прежнему поддерживает Apache Cordova, но только подмножество существующих плагинов. Ionic также встроил много общих плагинов в Capacitor, поэтому вам больше не «нужны» плагины Cordova для предоставления определенных функций вашему приложению.

Одним из примеров этого является плагин Capacitor Push Notifications, который добавляет поддержку регистрации и обработкиPush-уведомления для конденсатора. Если вы выполните процедуру создания проекта Ionic 4, добавите в него плагин cordova-azure -tification-hubs и добавите код, который регистрирует и обрабатывает уведомления, как вы это делали для приложений Ionic 3, вы обнаружите, что ваше приложениерегистрируется успешно, но никогда не «получает» никаких уведомлений.

Происходит следующее: плагин cordova-azure -tification-hubs правильно управляет процессом регистрации с помощью концентраторов уведомлений Azure, но плагин push-уведомлений Capacitor перехватывает все уведомлениякоторые поступают на устройство, обходя SDK Azure Notification Hubs.

Это означает, что для автоматической регистрации и получения уведомлений приложение Ionic 4 должно использовать оба подключаемых модуля. Плагин Cordova-Azure-Notification-Hubs для управления автоматической регистрацией и плагин Capacitor Push-уведомлений для их обработки по прибытии. Особая благодарность Мэтью Podwysocki (Microsoft) и Майку Хартингтону (Ionic) за его понимание.

Мы создали образец приложения (https://github.com/Azure/azure-notificationhubs-samples/tree/master/Ionic/ionic-4), в котором показано, как использовать плагин в приложении Ionic 4В этом примере реализован тот же Ionic Provider для Azure Notification Hubs, который управляет регистрацией, но добавляет дополнительный код для использования подключаемого модуля Push-уведомлений Capacitor для обработки полученных уведомлений. С этим на месте это в основном тот же интерфейс и логика, что и в примере Ionic 3 (обновлен для изменений в Ionic 4).

Плагин Capacitor Push также поддерживает аналогичный приемник событий регистрации, который можно использовать для получения push-токена устройства и отправки его в бэкэнд своего приложения для регистрации в концентраторах уведомлений Azure. необходимость использовать плагин cordova-azure-messages-hubs в приложении Capacitor.

Примечание. Образец приложения, на которое я ссылаюсь, предоставлен в образовательных целях, мы не предоставляем поддержку Ionic.

...