Лучший способ реализовать push-уведомления с Firebase
Я кодер приложений для iPhone, и я использую Firebase в качестве моего бэкэнд-сервера. Firebase не поддерживает Push Notifications, поэтому я пытался выяснить, как включить их в свое приложение. Я прочитал этот вопрос: Как отправить сообщение с предупреждением специальному онлайн-пользователю с помощью firebase, но это похоже на работу, чем фактическое решение.
Есть ли ответ о том, как это сделать? Существуют ли сторонние или API-интерфейсы, которые могли бы без труда реализовать эту функциональность?
Одно из решений, которое я попробовал, - использовать Zapier для подключения Firebase к Pushover.
На этом этапе я смог наблюдать за событиями в приложении, которые я кодирую, а затем получать уведомления в приложении pushover на моем iphone. Однако в идеале я хотел бы получать уведомления в своем приложении, а не в приложении pushover, потому что я не хочу, чтобы пользователи нуждались в pushover, чтобы использовать мое приложение, и потому, что я хочу, чтобы пользователи получали свои собственные уведомления, а не уведомления для всех.
Есть ли у кого-нибудь предложения относительно того, как я должен справиться с этой проблемой?
Спасибо за помощь!
ИЗМЕНИТЬ
Это не дубликат этого вопроса: Предоставляет ли firebase push-уведомления?, поскольку я знаю, что Firebase не обрабатывает push-уведомления напрямую. Я ищу лучший косвенный способ обработки push-уведомлений с Firebase.
Ответы
Ответ 1
Теперь Google переименовал GCM в Firebase Cloud Messaging, и теперь он предлагает это кросс-платформенное обслуживание. Firebase также предлагает notifications.
Это различия между этими двумя службами:
Firebase Cloud Messaging предоставляет полный набор сообщений возможности через клиентские SDK и HTTP и XMPP-сервер протоколы. Для развертывания с более сложными требованиями к обмену сообщениями, FCM - правильный выбор.
Firebase Notifications - это облегченное, бессерверное решение для обмена сообщениями построенный на Firebase Cloud Messaging. С удобной графикой консоли и уменьшенные требования к кодированию, уведомления Firebase позволяют пользователи легко отправляют сообщения для повторного подключения и сохранения пользователей, поддерживают приложение роста и поддержки маркетинговых кампаний.
Если вы хотите получить более подробное сравнение. Прочитайте этот.
Ответ 2
Если вы хотите, чтобы устройство выводило сообщения устройства, а не только сервер на устройство, единственным найденным решением было OneSignal. Я смог добавить базовое устройство для поддержки push push-сообщений для моего приложения примерно через час, и в настоящее время он свободен.
Оба Batch и Firebase поддерживают только серверы для push-сообщений устройства, а не то, что вы хотите для чат-приложения.
Ответ 3
Есть несколько вариантов: (ну, больше, чем пара, но здесь два)
Parse обрабатывает push-уведомления очень хорошо - у них есть этот патч, и это очень просто. Однако у вас могут быть проблемы с пользователями и учетными записями - в зависимости от того, что делает ваше приложение.
Вы упомянули Pushover. Некоторое время назад мы работали над своим API, но не через Zapier. Если я правильно помню, я считаю, что вы можете просто зарегистрировать свое приложение, отправить HTTPS-запрос на свой сервер, а затем уведомления отправляются из вашего приложения.
Кроме того, вы можете оценить, как вы используете push, так как это возможно, вы можете качать событие, подобное уведомлению, только в самом приложении.
Ответ 4
Вот ответ, который я получил от команды Firebase:
В настоящее время в Firebase нет функции push-уведомления. Вы можете использовать Firebase Queue и GCM для реализации push-уведомления в вашем приложении. Очереди могут использоваться в вашем приложении Firebase для организации работников или выполнения фоновой работы, например создания эскизов изображений, фильтрации содержимого сообщений и цензуры данных или разворачивания данных из нескольких мест в базе данных Firebase. Google Cloud Messaging (GCM) - это бесплатный сервис, который позволяет разработчикам отправлять сообщения между серверами и клиентскими приложениями и доступен как в iOS, так и в Android.
Вы можете подтолкнуть объект с некоторыми данными к месту /queue/tasks в вашей Firebase, используя любой клиент Firebase или REST API. Рабочие, слушающие в этом месте, автоматически подберут и обработают работу. От этого ваши работники могут сделать уведомление с помощью GCM.
(конец сообщения от команды Firebase)
~~~~~~~~~
Здесь мой анализ:
Кажется, что есть несколько решений, но два лучших:
1) Используйте FirebaseQueue с облачными сообщениями Google.
2) Использовать функцию Push Notification в Parse в приложении Firebase.
Я не уверен, что лучше. Parse кажется более доказанным, но Firebase Queue более легко интегрируется в приложение (т.е. Приятно иметь все на Firebase и не настраивать приложение Parse)
В любом случае, я надеюсь, что эта нить поможет другим людям!
Ответ 5
Просто понял, что они вышли из этого:
Batch
Ответ 6
Firebase теперь имеет встроенные уведомления.
https://firebase.google.com/docs/notifications/
Ответ 7
У меня была такая же проблема, и мне удалось выяснить какое-то решение. Я подробно изложил свое решение в следующих сообщениях fooobar.com/info/555957/... и fooobar.com/info/555958/...
Вам необходимо создать класс службы данных firebase и использовать общий экземпляр для хранения наблюдателей в памяти, когда приложение переходит в фоновый режим. Оттуда это просто вопрос, что вы хотите.