Добавить новость

Запуск «Союза МС-26» к МКС запланировали на 11 сентября

Женщину, оставившую новорожденного в подъезде на юго-востоке Москвы, задержали

Обманутая московская пенсионерка перевела мошенниками свыше 13 млн рублей

НАК: в Дагестане введен режим контртеррористической операции





Новости сегодня

Новости от TheMoneytizer

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

Мы разрабатываем клиентские приложения на базе 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. Свободу выбора решений по обмену данными с сервером и по самой реализации плагина

Читайте на 123ru.net


Новости 24/7 DirectAdvert - доход для вашего сайта



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



Smi24.net — ежеминутные новости с ежедневным архивом. Только у нас — все главные новости дня без политической цензуры. "123 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. Smi24.net — облегчённая версия старейшего обозревателя новостей 123ru.net. Мы не навязываем Вам своё видение, мы даём Вам срез событий дня без цензуры и без купюр. Новости, какие они есть —онлайн с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии. Smi24.net — живые новости в живом эфире! Быстрый поиск от Smi24.net — это не только возможность первым узнать, но и преимущество сообщить срочные новости мгновенно на любом языке мира и быть услышанным тут же. В любую минуту Вы можете добавить свою новость - здесь.




Новости от наших партнёров в Вашем городе

Ria.city

Подмосковье победило на Спартакиаде учащихся по акробатическому рок-н-роллу

Власти Екатеринбурга поделились планами о строительстве метро

В Подмосковье от борщевика обработали более 21 тысячи га земли

Представители четырех стран соберутся на международном музыкальном фестивале в Воронеже

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

Осипов: Чита может стать культурной столицей России в 2026 году

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

Компромат на Киркорова: стало известно, за что Успенская угрожает Джугелии

LG CLOi ServeBot НА ОСНОВЕ ИИ ДЛЯ СФЕР ГОСТЕПРИИМСТВА И ЗДРАВООХРАНЕНИЯ

Новости России

В Нижегородской области построят 19 ФАПов и один офис врача общей практики

Представители четырех стран соберутся на международном музыкальном фестивале в Воронеже

Власти Екатеринбурга поделились планами о строительстве метро

В Петербурге хозяйка бара получила штраф за оскорбление чувств верующих

Экология в России и мире

Шедевры Моцарта в музее-заповеднике «Царицыно» – Relax FM приглашает совершить музыкальное путешествие сквозь эпохи

В АО "Желдорреммаш" введен единый Стандарт по метрологическому обеспечению в производстве.

Дарсонваль: что это, в чём польза, против угрей, выпадения волос и себореи

Loewe, коллекция menswear весна-лето 2025

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

Даниил Медведев представил форму, в которой выступит на Уимблдоне

Появились новости о здоровье Елены Рыбакиной перед турниром в Англии

«Недальновидное решение». На «Беларусь 1» раскритиковали отказ Арины Соболенко от Олимпиады

Калинская выиграла второй матч за день и вышла в финал турнира в Берлине

Moscow.media

В центр Кронштадта из центра Петербурга и Петергофа теперь можно добраться на метеорах

Росгвардейцы обеспечивают охрану правопорядка во время празднования Дня России.

Росгвардейцы обеспечивают охрану правопорядка во время празднования Дня защиты детей.

Организованных тургруп из Новосибирска в Крыму нет











Топ новостей на этот час

Rss.plus






На рейсе Уфа - Москва у самолета треснуло лобовое стекло во время полета

В Москве вручили главную театральную премию – "Золотая маска"

Власти Екатеринбурга поделились планами о строительстве метро

Представители четырех стран соберутся на международном музыкальном фестивале в Воронеже