Добавить новость
ru24.net
Работа
Октябрь
2022

Модуль для Cordova (iOS или Android)

0
Мы разрабатываем клиентские приложения на базе Cordova. Таких приложений несколько десятков и на данный момент мы обновляем их по стандартной процедуре: пересборка и отправка на модерацию в магазин, что занимает много времени и создает некоторые неудобства.


Мы хотим ускорить процесс обновления и для достижения этой цели необходимо разработать плагин для Cordova, который будет обновлять файлы в www-контейнере минуя основной магазин приложений (App Store, Google Play и другие), скачивая свежую версию файлов с сервера. Плагин с подобной функциональностью уже существует, но, к сожалению, с новыми версиями iOS и Android уже не работает: nordnet/cordova-hot-code-push.


Вариантов решения задачи может быть два: (обсудим)

  1. Написать новый плагин, заточенный конкретно под наши нужды (можно условно разделить на два этапа):

    1. Автоматическая работа
    2. Возможность конфигурирования поведения плагина и ручное управление
  2. Довести до ума уже существующий плагин cordova-hot-code-push (исправить неработающие части)

Схема работы плагина:

  1. В проекте приложения с данным плагином будет находится конфигурационный файл, в котором прописываются необходимые для работы настройки: см. Параметры (ниже).
  2. Во время запуска приложения, еще до события “device-ready”, плагин должен осуществить попытку соединения с сервером для получения команды на обновление.
  3. В случае получения команды на обновление, в зависимости от “Способа установки новой версии” (см. Параметры) плагин будет работать по-разному:

    1. При “установке сразу при получении команды” приложение скачивает и производит установку, в это время на экране продолжает показываться сплешскрин. При обрыве соединения или таймауте приложение прекращает процедуру обновления и продолжает инициализацию по стандартной схеме.
    2. При “установке при следующем запуске” приложение продолжает стандартную процедуру инициализации без блокировки экрана, а загрузка нового контента осуществляется в фоновом режиме. Установка же будет осуществлена уже при следующем запуске приложения. Причем уже при следующем запуске приложение блокируется на экране со сплешскрином до установки новой версии. Важное примечание: при “установке при следующем запуске” этап проверки на новую версию все равно должен быть осуществлен, и это должно произойти перед попыткой установки: если плагин обнаружит, что появилась более свежая версия, то он должен скачать с сервера новую и заменить ей ту, которая была скачана в прошлый раз, а затем уже производить установку).
  4. Обновление файла конфигурации. При получении ответа от сервера помимо команды на обновления, сервер может попросить обновить файл конфигурации плагина, например изменить способ установки новой версии.
  5. Ручной вызов различных методов из webview (условно второй этап, обсудим): запрос на проверку необходимости обновления, принудительный запуск обновления и т.п.

Параметры: (конфигурационный файл)

  • URL для получения команды на обновление (структуру ответа обсудим подробнее перед началом работ)
  • Исходная версия приложения (та, которая будет указана в магазине на момент загрузки сборки в стор)
  • Таймаут попытки соединения
  • Способ установки новой версии:

    • Установка сразу при получении команды
    • Установка при следующем запуске
  • Отключение плагина (должна быть возможность его просто отключить)

Обработка ошибок:

  1. В случае нештатной работы плагина (какой-либо из этапов нарушен, что-то не получилось сделать, после обновления приложение перестало запускаться, и прочее):

    1. Плагин сбрасывает состояние на момент последней исправной версии и продолжает работу в штатном режиме.
    2. Последующие запросы к серверу на получение команды на обновление должны содержать в себе данные о произошедшем сбое. Эта информация будет слаться с каждым таким запросом до тех пор, пока плагин штатно и без ошибок не обновится до следующей версии. Структуру данных обсудим подробнее перед началом работ.
  2. (опционально, по согласованию) Мы используем в наших проекта Sentry, хотелось бы прикрутить к плагину SDK для работы с этой системой, чтобы мы могли отслеживать ошибки обновлений на уровне Cordova.

Требования:

  1. Плагин должен работать с iOS (начиная с версии iOS 11.2) и Android (начиная с версии 5.1).
  2. Плагин должен поддерживать версию Cordova 10 (и желательно 11).
  3. Плагин необходимо оформить в виде стандартного плагина для Cordova в виде репозитория.

Мы предоставим:

  1. Доступ к репозиторию с проектом (который нужно будет развернуть у себя)
  2. Быструю реакцию на уточняющие вопросы по ТЗ и во время выполнения задания (в будние дни)
  3. Свободу выбора решений по обмену данными с сервером и по самой реализации плагина



Moscow.media
Частные объявления сегодня





Rss.plus



Подведены итоги конкурса «Мы верим твердо в героев спорта»

В Москве ежегодно состоялся юбилейный, всероссийский, патриотический гала-концерт «Проза и поэзия» «Россия - семья семей»

Стоит ли отдавать ребенка в частную школу?

Можно ли перевестись из одной автошколы в другую в процессе обучения?


Чемпионы Дона по киокусинкай провели турнир в Marins Park Hotel Ростов

В Москве пройдёт гастрономический фестиваль «Русская кухня»

Кристина Орбакайте ставит точку в своих отношениях с Россией

Пластический хирург Александр Вдовин: как избавиться от мешков под глазами


My mother and I were still estranged when she died in 2019. I went to a medium to connect with her and it brought me closure.

Inexperienced Secret service agent called tech support hotline for help piloting drone ahead of Trump rally shooting: bombshell report

Raging Richarlison slams ‘f***ing s***’ card as Tottenham star’s EA FC 25 rating is revealed

Every time we go on holiday my husband ogles other women on the beach


Жизнь-штука полосатая...

Беспроводной сканер штрих-кодов SAOTRON P05i промышленного класса

Для ремонта дорог в Петербурге в 2025 году ищут подрядчиков

Hybrid запустил онлайн-академию Hybrid Training Hub


Elgato Game Capture Neo review

Ранняя версия Mini Empire: Hero Never Cry с русским языком доступна в Google Play

Мультиплеерный данжен-кроулер Greedy Wizards: Speed Dungeon вышел в новой стране на iOS и Android

Мафия-НН: Густой аромат армянского кофе наполнил воздух старательно украшенной гостиной.



Стоит ли отдавать ребенка в частную школу?

Стоит ли отдавать ребенка в частную школу?

Фестиваль «Песня года» 2024 состоится в ДС «Мегаспорт» в Москве

Подведены итоги конкурса «Мы верим твердо в героев спорта»




Модель нового памятника для Приамурья осмотрел губернатор Василий Орлов

Подведены итоги конкурса «Мы верим твердо в героев спорта»

В России цены на линейку iPhone 16 снизились на 8-10 процентов

Подведены итоги конкурса «Мы верим твердо в героев спорта»


Певица Натали Орли вернулась к истокам

Захарова: Обязательства по расследованию теракта на «Севпотоках» не выполняются

Как кирпичные традиции Иваново вдохновляют современные проекты

ТАСС: в ходе обысков в доме Тимура Иванова найдено огнестрельное оружие


Рахимова обыграла Биррелл и вышла во второй круг WTA 1000 в Пекине

«Теннисистки заслуживают зарабатывать на равных с мужчинами». Веснина выступила за соразмерные призовые

Камилла Рахимова вышла во второй круг WTA-1000 в Пекине, обыграв Кимберли Биррелл

Сафиуллин проиграл Синнеру и не смог выйти в четвертьфинал теннисного турнира в Пекине


Захарова: Обязательства по расследованию теракта на «Севпотоках» не выполняются

Адвокат: Алексей Блиновский не вернулся в зону СВО из-за участия в следствии по делу Пашаева

Певица Натали Орли вернулась к истокам

Азербайджанца-русофоба Амида Юсубова, призывавшего ненависти к русским, приговорили к 3,5 годам заключения


Музыкальные новости

«Как здорово, что все мы здесь сегодня собрались»: Олег Митяев выступит в День тигра во Владивостоке

Депутат ЗСК Виктор Тепляков принял участие в 44-й сессии региональной Думы

Озвучено, сколько заработал музыкант Юрий Башмет на своей фирме

Подведены итоги конкурса «Мы верим твердо в героев спорта»



Фестиваль «Песня года» 2024 состоится в ДС «Мегаспорт» в Москве

Стоит ли отдавать ребенка в частную школу?

Стоит ли отдавать ребенка в частную школу?

Подведены итоги конкурса «Мы верим твердо в героев спорта»


Лукашенко назвал условие, при котором Минск применит ядерное оружие

Президент РПЛ Александр Алаев отреагировал на заявление футболиста Глушенкова

ТНТ и Кинопоиск представляют первый тизер новогоднего телефильма «Небриллиантовая рука»   

На матче "ЦСКА-Динамо" родилась новая семья


Певица Натали Орли вернулась к истокам

С 1 ноября изменится стоимость парковки на ряде улиц Москвы

Автомобили с 1 октября подорожают из-за новых ставок утильсбора

Доцент Фиронов: машины резко подорожают из-за новых ставок утильсбора с октября


Американская разведка предупредила Байдена: Путин не пошутил, Зеленский тянет нас в ад

Рябков: Россия фиксирует реакцию Запада на изменения своей ядерной политики

Политический директор премьера Венгрии: наша страна сдалась бы в случае

Рябков назвал «развернутой» реакцию Запада на заявления по ядерной доктрине РФ





Педагогов обучат навыкам первой медицинской помощи

«Затруднилось дыхание, опустилось веко»: россиянка заразилась ботулизмом после приема у косметолога

Осень или организм: врач объяснил, кто виноват в усиленном выпадении волос

Кузнецов попал в больницу после матча КХЛ с «Северсталью»



Представители Росгвардии поздравили воспитанников Центра спорта и образования «Самбо-70» с принятием торжественной клятвы

Подведены итоги конкурса «Мы верим твердо в героев спорта»

Олимпийские ценности: доступное жилье в Иваново сдадут по улучшенному стандарту

Подведены итоги конкурса «Мы верим твердо в героев спорта»


Лукашенко назвал условие, при котором Минск применит ядерное оружие

«Россия за нас втягивается…» Лукашенко грозит НАТО ядерным оружием

Лукашенко дал ответ на вопрос, в каком случае Минск применит ядерное оружие

Как только НАТО нападет на Беларусь, будет применено ядерное оружие – Лукашенко



Собянин: МЦД продлят до Калужской, Смоленской, Тульской и Ярославской областей

Сергей Собянин заявил о продлении наземного метро Москвы в Тульскую область

«В ближайшие регионы»: Собянин анонсировал продление МЦД до четырёх областей

Собянин пообещал продлить скоростные диаметры Москвы в Ярославскую область


«Чистая Арктика» разработает стандарт сбора и вывоза отходов из удаленных мест

Первое армянское название в Москве

Собянин посоветовал москвичам пересаживаться на электромобили

Под Симферополем продолжается строительство нового крупного микрорайона


Как кирпичные традиции Иваново вдохновляют современные проекты

Азербайджанца-русофоба Амида Юсубова, призывавшего ненависти к русским, приговорили к 3,5 годам заключения

Певица Натали Орли вернулась к истокам

Врач Войтко рассказал, можно ли избежать рака простаты


ТСД SAOTRON RT41 GUN: практичный, производительный, надёжный

В Гидрометцентре прогнозируют температуру на 6-10°С выше нормы в нескольких регионах России

В пропавшем в Архангельской области вертолете находился депутат Сметанин

Прокуратура проверяет информацию о пропаже вертолета в Архангельской области


Прогноз погоды в Крыму на 26 сентября

Творческая композиция «Диво дивное руки творят».

В районе Симферополя появится необычный жилой квартал

В Симферополе появится новый бизнес-центр “Крымский”


Глава МИД Белоруссии: действующая модель безопасности в мире «трещит по швам»

Ефимов: неэффективно используемые участки в СВАО реорганизуют по программе КРТ

Вратарь ульяновской «Волги» Игорь Трушкин: «Сухари» - не главное»

В новый закон о такси могут внести изменения












Спорт в России и мире

Новости спорта


Новости тенниса
WTA

Кудерметова вышла в третий круг турнира WTA 1000 в Пекине






Азербайджанца-русофоба Амида Юсубова, призывавшего ненависти к русским, приговорили к 3,5 годам заключения

Певица Натали Орли вернулась к истокам

Тренеру из Шатуры Рабиновичу вручили награду «За заслуги перед округом»

Адвокат: Алексей Блиновский не вернулся в зону СВО из-за участия в следствии по делу Пашаева