SDK Обновление приложений для Godot (версия 1.0.1)
Общие сведения
RuStore In-app updates SDK поддерживает актуальную версию приложения на устройстве пользователя. Это помогает пользователю увидеть обновления, оценить улучшение производительности и результат исправления ошибок.
Пример пользовательского сценария
Используйте RuStore In-app updates SDK для реализации различных способов обновлений. В настоящий момент поддерживаются: отложенное, тихое (без UI от RuStore) и принудительное обновление.
Ознакомьтесь с приложением-примером чтобы узнать, как правильно интегрировать SDK обновлений.
Подключение в проект
Для подключения выполните следующие шаги.
- Скопируйте проекты плагина из официального репозитория RuStore на GitFlic.
- Откройте в вашей IDE проект Android из папки
godot_plugin_libraries. - Поместите в папку
godot_plugin_libraries/libsпакетgodot-lib.xxx.yyy.template_release.aar, гдеxxx.yyyверсия вашей редакции Godot Engine.
Пакет godot-lib.xxx.yyy.template_release.aar для вашей версии Godot Engine можно найти на странице разработчика на Sourceforge.net.
- Выполните сборку проекта командой
gradle assemble.
При успешном выполнении сборки в папке godot_example/android/plugins будут созданы файлы:
RuStoreGodotAppUpdate.gdap;RuStoreGodotAppUpdate.aar;RuStoreGodotCore.gdap;RuStoreGodotCore.aar.
Обратите особое внимание, что библиотеки плагинов должны быть собраны под вашу версию Godot Engine.
-
Скопируйте содержимое папки
godot_example/android/pluginsв папкуyour_project/android/plugins. -
В пресете сборки Android в списке Плагины отметьте строки Ru Store Godot App Update и Ru Store Godot Core.
Создание менеджера обновлений
Перед вызовом методов библиотеки необходимо создать менеджер обновлений.
var _appUpdate_client: RuStoreGodotAppUpdateManager = null
func _ready():
_appUpdate_client = RuStoreGodotAppUpdateManager.get_instance();
Проверка наличия обновлений
Прежде чем запрашивать обновление, проверьте, доступно ли обновление для вашего приложения. Для проверки наличия обновлений вызовите методget_app_update_info. При вызове данного метода проверяются следующие условия.
- На устройстве пользователя установлена актуальная версия RuStore.
Пользователь и приложение не должны быть заблокированы в RuStore
.- Приложению RuStore разрешена установка приложений.
- Пользователь авторизован в RuStore.
Перед использованием метода необходимо единожды выполнить подписку на события:
on_get_app_update_info_success;on_get_app_update_info_failure.
func _ready():
# Инициализация _appUpdate_client
_appUpdate_client.on_get_app_update_info_success.connect(_on_get_app_update_info_success)
_appUpdate_client.on_get_app_update_info_failure.connect(_on_get_app_update_info_failure)
func _on_get_app_update_info_success(response: RuStoreAppUpdateInfo):
pass
func _on_get_app_update_info_failure(error: RuStoreError):
pass
_appUpdate_client.get_app_update_info()
on_get_app_update_info_success возвращает объект, который содержит информацию о необходимости обновления. Запросите информацию заранее, чтобы выполнить запуск скачивания обновления без задержки в удобный для пользователя момент времени.
class_name RuStoreAppUpdateInfo extends Object
var updateAvailability: ERuStoreUpdateAvailability.Item
var installStatus: ERuStoreInstallStatus.Item
var availableVersionCode: int
func _init(json: String = ""):
if json == "":
updateAvailability = ERuStoreUpdateAvailability.Item.UNKNOWN
installStatus = ERuStoreInstallStatus.Item.UNKNOWN
availableVersionCode = 0
else:
var obj = JSON.parse_string(json)
updateAvailability = int(obj["updateAvailability"])
installStatus = int(obj["installStatus"])
availableVersionCode = int(obj["availableVersionCode"])