[firebase функции] Функция по автоматической отсылке нотификаций
16 000 руб. за проект
Нужна джоба-функция, которая отошлёт пользователям пуши о новых добавленных песнях.
Это делается на основе текущей версии в /apps/karaoke и версии в пользователях.
Если в пользователе версия ниже текущей, то нужно определить с какими прислать нотификацию. Нужно зайти в папки с версиями, которых у него нет и считать файлы releasenotes.tsv, они вида:
id artistId name lang name band photoStorageUrl
Шаблон заглавия нотификации на разных языках должен быть взят с firebase firestore /strings/new_songs_notification_title
прислать в теле нотификации перечисления всех исполнителей песен.
Нужно начинать с самой последней песни в файле и идти к началу, если файла два, то с песен файла в самой последней версии.
Если бэнда нет то взять имя исполнителя (name между lang и band)
artist band1 - song name1, artist band2 - song name2, artist name3 - song name3…
Если не хватает места то поставить в конце троеточие
взять для нотификации фото первой песни PhotoStorageUrl.
Отослать нотификацию в часовом поясе пользователя либо сразу, но если позже 23 или раньше 10 то дождаться 10 и отправить в 10 утра.
При нажатии на нотификацию открывается приложение и показывается диалог. Но в приложении не нужно передавать специальный пейлоад. Оно и так должно отобразить информацию о новых песнях.
Также:
Создать функцию создания профиля пользователя, которая бы создавала профиль пользователя с полем song_langs, где лежит массив из языков песен пользователя.
(функция уже есть, нужно сделать её новую версию, так чтобы текущие мобильные клиенты не начали получать ошибки)
Это тестовая задача, если у вас получается это сделать то я перевожу вам 3к и продолжаем работу.
Планируются другие задачи по firebase на следующей неделе, буду рад долгосрочному сотрудничеству.
Подробное взаимодействие бека и клиента описано в документе
https://docs.google.com/document/d/1G_P_Pz894J2a-1...
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.