Проверка обновлений игры и докачка паков — различия между версиями
Sadovoy (обсуждение | вклад) (→Пример реализации докачки пака) |
Sadovoy (обсуждение | вклад) |
||
Строка 27: | Строка 27: | ||
[[Файл:Download set version string.png]] | [[Файл:Download set version string.png]] | ||
+ | |||
+ | |||
==2. Машина '''check_download'''== | ==2. Машина '''check_download'''== | ||
Строка 32: | Строка 34: | ||
[[Файл:Download check download part1.png]] | [[Файл:Download check download part1.png]] | ||
[[Файл:Download check download part2.png]] | [[Файл:Download check download part2.png]] | ||
+ | |||
+ | |||
==3. Машина '''download_access'''== | ==3. Машина '''download_access'''== | ||
Строка 38: | Строка 42: | ||
[[Файл:Download download access part2.png]] | [[Файл:Download download access part2.png]] | ||
[[Файл:Download download access part3.png]] | [[Файл:Download download access part3.png]] | ||
+ | |||
+ | |||
==4. Машина '''download_machine'''== | ==4. Машина '''download_machine'''== | ||
Машина только выдвигает, если нужно, полосу прогресса загрузки. | Машина только выдвигает, если нужно, полосу прогресса загрузки. | ||
[[Файл:Download download machine.png]] | [[Файл:Download download machine.png]] | ||
+ | |||
+ | |||
==5. Машина '''root_button_download'''== | ==5. Машина '''root_button_download'''== | ||
Показывает кнопочку ''загрузить'', если у нас произошла ошибка в ходе загрузки. | Показывает кнопочку ''загрузить'', если у нас произошла ошибка в ходе загрузки. | ||
[[Файл:Download root button download.png]] | [[Файл:Download root button download.png]] | ||
+ | |||
+ | |||
==6. Машина '''progress_math'''== | ==6. Машина '''progress_math'''== | ||
Считывает значение из каунтера и закидывает в прогресс. | Считывает значение из каунтера и закидывает в прогресс. | ||
[[Файл:Download progress math.png]] | [[Файл:Download progress math.png]] | ||
+ | |||
+ | |||
=Пример реализации докачки пака= | =Пример реализации докачки пака= | ||
Применяется когда дополнительные паки мы догружаем, если мы их купили. Осуществляется функцией download в машине состояний. | Применяется когда дополнительные паки мы догружаем, если мы их купили. Осуществляется функцией download в машине состояний. | ||
К примеру мы прошли пак 1 во фришной версии игры, и перешли на окно анлока игры: | К примеру мы прошли пак 1 во фришной версии игры, и перешли на окно анлока игры: | ||
− | [[Файл:Download open.png]] | + | |
+ | [[Файл:Download open.png|370px]] | ||
+ | |||
При нажатии на кнопку ''Открыть'', осуществляется покупка приложения, и в случае удачи показываем кнопку ''Догрузить'': | При нажатии на кнопку ''Открыть'', осуществляется покупка приложения, и в случае удачи показываем кнопку ''Догрузить'': | ||
− | [[Файл:Download download.png]] | + | |
+ | [[Файл:Download download.png|370px]] | ||
+ | |||
При нажатии на кнопку ''Догрузить'', мы начинаем загрузку пака и выводим окно с прогрессом загрузки: | При нажатии на кнопку ''Догрузить'', мы начинаем загрузку пака и выводим окно с прогрессом загрузки: | ||
− | |||
− | Организация машины загрузки идентична для примера проверки обновлений: | + | [[Файл:Download download start.png|370px]] |
+ | |||
+ | |||
+ | Организация машины загрузки идентична для примера [[Пример реализация обновления приложения|проверки обновлений]]: | ||
[[Файл:Download open machine.png]] | [[Файл:Download open machine.png]] | ||
[[Category:Learning]] | [[Category:Learning]] |
Версия 08:14, 25 сентября 2014
- При появлении обновлений для нашей игры, мы должны реализовать обновление паков. Это используется для платформ где установлены ограничения размера установочного файла игры. Тем самым обязуя нас создавать маленький по размеру файл установки и файл подкачки.
Проверка обновлений игры и докачка паков, реализуются практические идентично, отличие состоит в том, что проверка обновлений - осуществляется автоматически при открытии приложения, а догрузка паков - в определённый момент игры (после покупки анблока и т.д.), то есть осуществляется пользователем.
Правила разбивки на паки и их компоновка описаны в Загрузка проекта по частям и Подготовка для загрузки на маркеты.
Содержание
Принцип обновления приложения маркетом
Если на маркете появляется новая версия приложения которое мы установили, маркет нам предлагает обновить установочный файл (всё что лежит в паке 0). Докачиваемый файл (пак 1) - маркет обновлять не будет, мы должны сами его докачать.
При обновлении маркетом нашей игры, маркет в опциях перебивает параметры:
- VersionMain
- VersionGraphic
- VersionLogic
Пример реализация обновления приложения
Первым экраном в проекте, делаем экран с проверкой на наличие обновлений. Если обновлений нету - переходим на экран мейн, если же обновления есть - докачиваем пак 1. Вот как выглядит Экран с проверкой:
1. Машина set_version_string
Считывает из опций параметры которые перезаписывает маркет ( VersionMain, VersionGraphic, VersionLogic) и компонует их в параметр VersionString по алгоритму:
- ((((VersionMain)*1000000)+((VersionGraphic)*1000))+(VersionLogic)).
В результате мы имеем 7-ми значное число ( 1001001).
2. Машина check_download
Мы проверяем обновилась ли версия нашей игры ( первого пака), сравнивая параметр VersionString и параметр download_version ( check ). Если значения равны (версии одинаковы), переходим в ( done ) на экран мейн. Если не равны - Показываем процесс загрузки ( open_download ), выводим текст( download ) и начинаем загрузку обновлений ( download1 ). При удачной загрузке, мы записываем параметр VersionString как download_version ( машина download_access, состояние access1).
3. Машина download_access
Обрабатывает загрузку пака (пак 1), состояние download1 машины check_download.
4. Машина download_machine
Машина только выдвигает, если нужно, полосу прогресса загрузки.
5. Машина root_button_download
Показывает кнопочку загрузить, если у нас произошла ошибка в ходе загрузки.
6. Машина progress_math
Считывает значение из каунтера и закидывает в прогресс.
Пример реализации докачки пака
Применяется когда дополнительные паки мы догружаем, если мы их купили. Осуществляется функцией download в машине состояний. К примеру мы прошли пак 1 во фришной версии игры, и перешли на окно анлока игры:
При нажатии на кнопку Открыть, осуществляется покупка приложения, и в случае удачи показываем кнопку Догрузить:
При нажатии на кнопку Догрузить, мы начинаем загрузку пака и выводим окно с прогрессом загрузки:
Организация машины загрузки идентична для примера проверки обновлений: