Перейти к основному содержимому

SDK обновления приложений

RuStore In-app updates SDK помогает поддерживать актуальную версию вашего приложения на устройстве пользователя: пользователь быстрее получает исправления ошибок и улучшения производительности, а вы сами определяете, в какой момент и насколько настойчиво предлагать обновление.

Возможности In-app updates SDK

  • Три сценария обновления

    Отложенное, принудительное и тихое обновление. Сценарий задается через AppUpdateOptions — один и тот же метод startUpdateFlow() покрывает все три случая.

  • Разделение скачивания и установки

    Скачивание запускается методом startUpdateFlow(), установка — методом completeUpdate(). Вы сами выбираете момент установки и не прерываете пользователя посреди сессии.

  • Контроль прогресса скачивания

    Слушатель registerListener() возвращает статус установки, количество загруженных байт и общий объем загрузки — этого достаточно, чтобы отрисовать собственный прогресс-бар.

  • Собственный интерфейс обновления

    В сценарии тихого обновления интерфейс от RuStore не показывается: диалоги вы реализуете в стилистике своего приложения.

  • Проверка обновления заранее

    Объект AppUpdateInfo можно запросить и закэшировать, чтобы предложить обновление без задержки в удобный для пользователя момент.

  • Детализированная обработка ошибок

    Ошибки скачивания и установки возвращаются отдельными кодами (ERROR_DOWNLOAD, ERROR_STORAGE, ERROR_INCOMPATIBLE и другие), что упрощает диагностику и сбор аналитики.

  • Поддержка популярных платформ

    Kotlin/Java, Unity, Godot, React Native, Flutter, Unreal Engine, Defold.

Условия работы SDK

Обновление доступно, если выполняются следующие условия:

  • на устройстве пользователя установлена актуальная версия RuStore;
  • пользователь авторизован в RuStore;
  • пользователь и приложение не заблокированы в RuStore.

Для сценария принудительного обновления дополнительно требуется versionCode приложения RuStore не ниже 191.

Что учесть при интеграции

  • Объект AppUpdateInfo одноразовый: после вызова startUpdateFlow() он становится невалидным, для повторного запуска запросите его заново методом getAppUpdateInfo().
  • Отдельного статуса отмены скачивания в SDK нет: прерванное пользователем скачивание возвращает installStatus = UNKNOWN, а отмененная установка уже скачанного обновления — DOWNLOADED.
  • Ошибки из onFailure не рекомендуется показывать пользователю — это ухудшает пользовательский опыт.
примечание

Если при интеграции у вас появятся вопросы или пожелания, пришлите их на support@rustore.ru, указав в теме письма «In-app updates SDK».

В этом разделе