Как реализовать Notifications и Backend для мобильного приложения?
Всем доброго времени суток! Мне, как разработчику неопытному, необходим совет от уже знающих и умелых представителей iOS dev.
Делаю сейчас приложение и возникла проблема с бэкэндом. Решил выбрать для облачного хранения данных - Firebase. Да, слышал о нём много негативного из-за отсутствия гибкости и компромиссов во всём и вся, но решил остановиться на нем, т.к. это самый наиболее быстрый вариант в плане реализации.
Примечание: Я больше по фронтэнду и с бэкэндом практически не знаком, в Java не умею и вообще лодырь, only-Swift кодер, хипстер и прочая срань современного dev`а.
Так вот, с сохранением и корректным отображением данных в теории проблем не должно возникнуть. Но вот, что касаемо Notifications, всё очень размыто и неясно. Мне в проекте понадобятся уведомления по условиям и я ничего не смог накопать в интернете.
Объясню на примере:
Например, у меня есть различные предприниматели, у которых разный профиль работы, кто-то механик, кто-то сантехник, кто-то электрик. Все они из разных городов - кто-то из Лондона, кто-то из Ванкувера, кто-то из Бобруйска. И у меня есть обычные пользователи, которые заказывают различные услуги. И вот, какой то пользователь подаёт общую заявку на то, что ему нужен электрик, и этот пользователь находится в Бобруйске. И когда пользователь подал заявку, всем предпринимателям-электрикам из Бобруйска должно прийти уведомление, что появился заказ, напишите пользователю и договоритесь о условиях. Данные уведомления должны приходить даже когда приложение выключено.
Также, в дальнейшем к iOS аппке добавится ещё и Android версия. А позже будет и сайт, который будет использовать эти данные.
И вот я без понятия, как это можно грамотно реализовать. Может кто-то посоветует что-то конкретное? Реально ли это сделать на Firebase? Если да, то как? Если нет, то какие есть аналоги? Либо, если самому писать сервер, то как и что для этого нужно?
Сразу извиняюсь за мою тупость, я ещё слишком зеленый в этом деле. Дайте шанс молодому и глупому.
Я читал про FCM, но не нашел решения, как сделать так, чтобы нотификейшены отправлялись пользователям по конкретным условиям. Если у вас есть туториал или гайд - буду премного благодарен.
Илья, не понял Вас. FCM умеет отправлять группам пользователей. А как Вы это будете делать он не знает и знать не хочет. Вы ведь сами инициирует отправку нотификейшена, отправляя запрос на серев FCM со всеми нужными данными.
Когда нужно, тогда и отправляйте запрос на отправку нотификейшена на своём сервере.
doublench21, Я имею ввиду, что не особо понимаю как инициировать это. Я не видел нигде материалов по тому, как отправить запрос на то, чтобы нотификейшены пришли пользователям с определёнными данными(местоположением, личной характеристикой и т.п.). вот немного не понимаю как это работает. допустим, как отправить нотификейшн конкретному пользователю - я понимаю, скажем по его id. а вот как в файрбейсе проходит фильтрация пользователей, чтобы составить какую то группу, по какому либо параметру, и отправить им пуши, не могу найти. в голове как то никак не вырисовывается картина.
Topic Messaging - это просто подписка на тему и рассылка всем подписчикам.
Device Group Messaging - это рассылка одному пользователю, который использует несколько девайсов для одного аккаунта.
Ваш выбор Topic Messaging. Примеры топиков: Бобруйские электрики, Лондонские электрики и т.д. :) Все электрики из Бобруйска подписываются на топик "Бобруйские электрики" и получают нотификейшн по прибытию новой инфы в топике.
Все примеры и даже консоль для того что бы это проверить не создавая бекэнд там есть. Внимательнее смотрите.