Проверка обновлений игры и докачка паков

Материал из wiki.appsalutecreator.com
Версия от 07:24, 25 сентября 2014; Sadovoy (обсуждение | вклад) (Download root button download.png)
Перейти к: навигация, поиск
При появлении обновлений для нашей игры, мы должны реализовать обновление паков. Это используется для платформ где установлены ограничения размера установочного файла игры. Тем самым обязуя нас создавать маленький по размеру файл установки и файл подкачки.

Правила разбивки на паки и их компоновка описаны в Загрузка проекта по частям и Подготовка для загрузки на маркеты.

Принцип обновления приложения маркетом

Если на маркете появляется новая версия приложения которое мы установили, маркет нам предлагает обновить установочный файл (всё что лежит в паке 0). Докачиваемый файл (пак 1) - маркет обновлять не будет, мы должны сами его докачать.

При обновлении маркетом нашей игры, маркет в опциях перебивает параметры:

VersionMain
VersionGraphic
VersionLogic

Пример реализация обновления приложения

Первым экраном в проекте, делаем экран с проверкой на наличие обновлений. Если обновлений нету - переходим на экран мейн, если же обновления есть - докачиваем пак 1. Вот как выглядит Экран с проверкой:

Download new Screne.png


1. Машина set_version_string

Считывает из опций параметры которые перезаписывает маркет ( VersionMain, VersionGraphic, VersionLogic) и компонует их в параметр VersionString по алгоритму:

((((VersionMain)*1000000)+((VersionGraphic)*1000))+(VersionLogic)).

В результате мы имеем 7-ми значное число ( 1001001).

Download set version string.png

2. Машина check_download

Мы проверяем обновилась ли версия нашей игры ( первого пака), сравнивая параметр VersionString и параметр download_version ( check ). Если значения равны (версии одинаковы), переходим в ( done ) на экран мейн. Если не равны - Показываем процесс загрузки ( open_download ), выводим текст( download ) и начинаем загрузку обновлений ( download1 ). При удачной загрузке, мы записываем параметр VersionString как download_version ( машина download_access, состояние access1). Download check download part1.png Download check download part2.png

3. Машина download_access

Обрабатывает загрузку пака (пак 1), состояние download1 машины check_download. Download download access part1.png Download download access part2.png Download download access part3.png

4. Машина download_machine

Машина только выдвигает, если нужно, полосу прогресса загрузки. Download download machine.png

5. Машина root_button_download

Показывает кнопочку загрузить, если у нас произошла ошибка в ходе загрузки. Download root button download.png

6. Машина progress_math

Считывает значение из каунтера и закидывает в прогресс. Download progress math.png