Проверка обновлений игры и докачка паков — различия между версиями
Sadovoy (обсуждение | вклад) |
Sadovoy (обсуждение | вклад) м |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 6: | Строка 6: | ||
=Принцип обновления приложения маркетом= | =Принцип обновления приложения маркетом= | ||
− | Если на маркете появляется новая версия приложения которое мы установили, маркет нам предлагает обновить установочный файл (всё что лежит в паке 0). Докачиваемый файл (пак 1) - маркет обновлять не будет, мы должны сами его докачать. | + | Если на маркете появляется новая версия приложения которое мы установили, маркет нам предлагает обновить установочный файл (всё что лежит в паке 0). Докачиваемый файл (пак 1) - маркет обновлять не будет, мы должны сами его докачать (Если же мы не запаковали два пака в один установочный файл, в этом случае маркет так же обновит и пак 1, но при выполнении функции ''download'' мы не будем загружать и распаковывать пак). |
При обновлении маркетом нашей игры, маркет в опциях перебивает параметры: | При обновлении маркетом нашей игры, маркет в опциях перебивает параметры: | ||
Строка 64: | Строка 64: | ||
=Пример реализации докачки пака= | =Пример реализации докачки пака= | ||
− | Применяется когда дополнительные паки мы догружаем, если мы их купили. Осуществляется функцией download в машине состояний. | + | Применяется когда дополнительные паки мы догружаем, если мы их купили. Осуществляется функцией download в машине состояний или же кнопкой (сказать загружаемый контент). |
К примеру мы прошли пак 1 во фришной версии игры, и перешли на окно анлока игры: | К примеру мы прошли пак 1 во фришной версии игры, и перешли на окно анлока игры: | ||
Строка 83: | Строка 83: | ||
[[Файл:Download open machine.png]] | [[Файл:Download open machine.png]] | ||
+ | |||
+ | Так же загрузку паков мы можем осуществлять и при помощи кнопки, для этого добавим к кнопке: '''скачать загружаемый контент''': | ||
+ | |||
+ | [[Файл:Button download.png]] | ||
[[Category:Learning]] | [[Category:Learning]] |
Текущая версия на 08:44, 6 октября 2014
- При появлении обновлений для нашей игры, мы должны реализовать обновление паков. Это используется для платформ где установлены ограничения размера установочного файла игры. Тем самым обязуя нас создавать маленький по размеру файл установки и файл подкачки.
Проверка обновлений игры и докачка паков, реализуются практические идентично, отличие состоит в том, что проверка обновлений - осуществляется автоматически при открытии приложения, а догрузка паков - в определённый момент игры (после покупки анблока и т.д.), то есть осуществляется пользователем.
Правила разбивки на паки и их компоновка описаны в Загрузка проекта по частям и Подготовка для загрузки на маркеты.
Содержание
Принцип обновления приложения маркетом
Если на маркете появляется новая версия приложения которое мы установили, маркет нам предлагает обновить установочный файл (всё что лежит в паке 0). Докачиваемый файл (пак 1) - маркет обновлять не будет, мы должны сами его докачать (Если же мы не запаковали два пака в один установочный файл, в этом случае маркет так же обновит и пак 1, но при выполнении функции download мы не будем загружать и распаковывать пак).
При обновлении маркетом нашей игры, маркет в опциях перебивает параметры:
- 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 во фришной версии игры, и перешли на окно анлока игры:
При нажатии на кнопку Открыть, осуществляется покупка приложения, и в случае удачи показываем кнопку Догрузить:
При нажатии на кнопку Догрузить, мы начинаем загрузку пака и выводим окно с прогрессом загрузки:
Организация машины загрузки идентична для примера проверки обновлений:
Так же загрузку паков мы можем осуществлять и при помощи кнопки, для этого добавим к кнопке: скачать загружаемый контент: