Мы в Telegram
Добавить новость
103news.com
Работа
Октябрь
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. Свободу выбора решений по обмену данными с сервером и по самой реализации плагина




Губернаторы России
Москва

Сергей Собянин провел личный прием граждан





Москва

В мире могут закрыть поставки из Китая. «Святой Ленин» на встрече В.В. Путина и Си Цзиньпина повышает качество жизни народам России, Китая, всего мира.


Губернаторы России

103news.net – это самые свежие новости из регионов и со всего мира в прямом эфире 24 часа в сутки 7 дней в неделю на всех языках мира без цензуры и предвзятости редактора. Не новости делают нас, а мы – делаем новости. Наши новости опубликованы живыми людьми в формате онлайн. Вы всегда можете добавить свои новости сиюминутно – здесь и прочитать их тут же и – сейчас в России, в Украине и в мире по темам в режиме 24/7 ежесекундно. А теперь ещё - регионы, Крым, Москва и Россия.

Moscow.media
Москва

Собянин выразил соболезнования родным и близким художника Сергея Андрияки



103news.comмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "103 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. 103news.com — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

103news.com — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.

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

Игорь Бутман

ЖКП: музыкант Игорь Бутман описал Пугачеву тремя буквами




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

Алексей Смирнов – актер, которого, надеюсь, еще не забыли

Гандболистки «Ставрополья» в Москве уступили хозяйкам паркета из «Луча»

Брянские парапланеристы завоевали три медали на чемпионате ЦФО

Стартовал финальный этап всероссийского футбольного турнира «Будущее зависит от тебя»


Даниил Медведев

Медведев с трудом одолел 121-ю ракетку мира на турнире в Риме



Новости Крыма на Sevpoisk.ru


Москва

Россия, Культура, Дети: конкурс на новую эмблему обьявил Театр Ульгэр в Республике Бурятия



Частные объявления в Вашем городе, в Вашем регионе и в России