Лучший способ реализовать 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

Ответ 7

У меня была такая же проблема, и мне удалось выяснить какое-то решение. Я подробно изложил свое решение в следующих сообщениях fooobar.com/info/555957/... и fooobar.com/info/555958/...

Вам необходимо создать класс службы данных firebase и использовать общий экземпляр для хранения наблюдателей в памяти, когда приложение переходит в фоновый режим. Оттуда это просто вопрос, что вы хотите.