[firebase функции] Функция по автоматической отсылке нотификаций

16 000 руб. за проект
23 октября 2024, 21:37 • 2 отклика • 40 просмотров

Нужна джоба-функция, которая отошлёт пользователям пуши о новых добавленных песнях.

Это делается на основе текущей версии в /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...