Необходимо создать программное обеспечение для сервиса шеринга электросамокатов, включая бэк-офис и мобильные приложения для платформ iOS и Android. Ожидается качественная разработка с учетом функциональных требований для пользователей и администраторов.
Небольшие правки в готовом приложении для android (webview радио)
Информация о имеющемся приложении:
Полностью готовое и рабочее приложение, которое отображает вебвью с онлайн радио. Требуется сделать несколько небольших функций для проигрывания онлайн радио в нативном плеере вместо вебвьюшного.
Задача:
1. Сделать чтобы стартовый сплешскрин имел черный фон с заданной картинкой (сейчас задана картинка, но фон белый).
2. Сделать чтобы все активити и вебвью были растянуты на весь экран (включая верхний прогрессбар, который нужно сделать прозрачным), при загрузке приложения в GET запросе к стартовому URL передавалать высоту верхнего прогрессбара в пикселях (например "/?androidheight=20"). Это нужно для того, чтобы фон вебстраниц лежал под прогрессбаром, а не прогрессбар был фиксированного цвета.
2. Загружаемый вебвью (основная активити), который показывается после сплешскрина, должен быть с прозрачным фоном и лежать поверх сплешскрина (чтобы во время стартовой загрузки, пока будет происходить загрузка контента в вебвью лещащий поверх сплешскрина, сплешскрин был виден).
3. Сделать регулируемую прозрачность прогрессбара (который показывается когда загружается какая либо страница в вебвью), можно вынести отдельной переменной или просто показать где это можно задавать в java файлах.
4. Сделать возможность вызова внутренней функций проигрывания музыки (онлайн радио стрим) в приложении из Javascript выполняемого в вебвью.
Логика вызова следующая:
а. Вебстраница вызывает функцию нативного плеера, передавая ей параметры - массив URL на аудио потоки, массив URL на получение информации об играемом треке (название, описание, обложка).
б. Вебстраница вызывает функцию проверки статуса проигрывания - приложение возвращает в webview (например путем вызова какой то функции расположенной в JS файле внутри вебвью) свой текущий статус проигрывания (подключается к удаленному стриму, играет или остановлено).
в. Когда экран заблокирован - на экране блокировки показан стандартный поп-ап нативного плеера с информацией о треке и кнопки переключения вперед-назад, в случае использование кнопок переключения приложение переключает следующий-предыдущий стрим из массива URL аудиопотоков, которые мы передали из webview при вызове первоначальной функции нативного плеера.
5. Проверить чтобы API Level приложения соответствовал актуальному принимаемому в Playmarket для постинга, добавить в манифест все необходимые параметры для воспроизведения потоковой музыки, но в то же время чтобы приложение было доступно и для более ранних версий Android (чтобы функция проигрывания музыки в нативном плеере работала).
Предлагаемое API для функции вызова нативного плеера:
1. Вызов функции показа нативного плеера из webview:
URL - URL адрес радио потока (MP3 стрим)
AUDIOINFO - URL адрес где приложение должно запрашивать и получать данные о проигрываемом треке с заданной регулярностью INTERVAL секунд
CHANNELID - идентификатор канала
2. Ответ от удаленного сервера на запрос информации о проигрываемом треке:
{"TITLE":"Title","DESCRIPTION":"Artist name","ARTWORK":"https://luxuryloungeradio.com/covers/2222.jpg"}
TITLE - Название трека
DESCRIPTION - описание (артист, альбом)
ARTWORK - обложка в JPG
3. Вызов функции получения статуса проигрывания в нативном плеере из webview:
nativeplay("STATUS")
ответ от приложения (например вызовом заданной функции jsrespond в JS файле находящемся на вебстранице внутри webview):
jsrespond("CONNECTING","1") , где первый параметр это статус проигрывания (нужно будет перечислить все возможные статусы), второй параметр это CHANNELID проигрываемого потока (из переданных в самом начале)
4. Вызов функции остановки проигрывания из webview:
nativeplay("STOP")
ответ от приложения:
jsrespond("STOPPED","1"), где второй параметр это CHANNELID проигрываемого потока
В случае остановки проигрывания не из вебвью (например с поп-апа на заблокированном экране), приложение должно также вызвать эту функции в webview.
5. Если были задействованы кнопки переключения вперед-назад из поп-апа нативного плеера на заблокированном экране:
приложение вызывает JS функцию jsrespond("CHANGECHANNEL","1") , где 1 - идентификатор текущего потока, на который было переключение из поп-апа.
Заявки фрилансеров
Похожие заказы
- Мобильные приложения8 заявокЗакрыт2 года назад
Требуется разработать мобильное приложение, которое будет запрашивать и отображать историю транзакций для Bitcoin, Ethereum и ERC20 контрактов по заданному адресу кошелька. Реализация должна соответствовать заданной архитектуре, использовать REST API для запроса данных и базу данных Room для хранения информации. Список транзакций должен поддерживать пагинацию с учетом ограничений API на количество запросов.
Мобильные приложения6 заявокЗакрыт2 года назадТребуется разработать дизайн мобильного приложения App Locker для Android, позволяющего блокировать доступ к приложениям с помощью пароля. Ищем дизайнера с хорошим вкусом и знанием современных трендов. Будет плюсом использование ИИ Midjourney. Полное ТЗ предоставим кандидатам.
Мобильные приложения6 заявокЗакрыт2 года назадТребуется разработка приложения для iPhone на основе адаптированного сайта. Главное условие - чтобы приложение работало на iOS. Размещение в App Store не обязательно, необходимо обеспечить возможность скачивания и установки приложения по ссылке.
Мобильные приложения10 заявокЗакрыт2 года назадНеобходимо разработать Telegram-бота, который будет дублировать каталог приложений с сайта odvme.com. Бот должен предоставлять пользователю информацию о приложениях, включая логотип, характеристики, а также ссылки для скачивания и промокодов. После старта бот будет запрашивать название приложения и выдавать соответствующую информацию из базы данных.
Мобильные приложения1 исполнительЗавершен2 года назадТребуется разработка мобильного приложения для iOS. Заказчик ищет исполнителя, который сможет не только создать приложение, но и помочь с составлением ТЗ и разрешением возникающих вопросов. Бюджет указан ориентировочно, так как не хватает информации о стоимости таких проектов.
Мобильные приложения9 заявокЗакрыт2 года назадТребуется доработка мобильного приложения DoctorP для распознавания растений на платформе Flutter. Необходимо внести улучшения и добавить новые функции согласно приложенным требованиям.
Мобильные приложения1 исполнительЗавершен2 года назад- $500
Требуется разработать мультиплатформенное мобильное приложение для чтения книг на React Native. Главной особенностью будет система поинтов, позволяющая пользователям открывать главы книги, зарабатывая коины через ежедневные входы, просмотр рекламы и другие активности.
Мобильные приложения7 заявокЗакрыт2 года назад Необхідно створити примітивний мобільний додаток для магазину спорттоварів. Додаток повинен дозволяти реєстрацію акаунтів, прив'язку системи оплати, додавання цін та описів товарів. Кількість категорій - 3-5, по 7-10 товарів на кожну категорію (тренажери, товари для бігу, плавання). Додаток повинно бути на iOS.
Мобильные приложения2 заявкиЗакрыт2 года назад