59. Процесс покупки предметов в iOS-играх в магазине AppStore

Game – Серия статей посвященных разработке flash-игр на языке ActionScript. Игры для соц.сетей и мобильных платформ iOS, Android.
http://flashpress.ru/blog/category/game/
iOS – Серия статей посвященных разработке iOS-приложений с помощью Adobe Flash используя язык ActionScript 3.0.
Посмотреть все статьи: http://flashpress.ru/blog/category/mobile/ios/

В статье 56. Процесс покупки предметов в играх соц. сетей я рассказывал теорию о том как осуществляется процесс покупки предметов во Flash-играх социальных сетей. Если же вы пишите приложение для платформы iOS, то скорее всего вам будет интересно знать как происходит процесс покупки в играх на iPhone, iPad, iPod.

Покупать предметы в iOS-играх вы можете двумя способами: с использованием сервера и без него. Если у вас нет сервера, то процесс покупки предметов для вас сильно упрощается. Посмотрите на схему:
buy-ios-1

Процесс покупки условно делится на 5 этапов:

  • 1 Ваше приложение делает запрос на сервер AppStore
  • 2 AppStore проверяет ваш баланс и возможность покупки
  • 3.1 Если у пользователя нет денег или он не подтвердил списание. Сервер AppStore передает во флешку ошибку
  • 3.2 Если пользователь подтвердил покупку, идет списание денег со счета пользователя
  • 4 Сервер AppStore сообщает флешке что покупка прошла успешно. При этом сервер AppStore передает флешке бинарный(Binary) файл, который идентифицирует покупку
  • 5 Ваше приложение должно сообщить серверу AppStore о том, что покупка прошла успешно и надо закрыть сделку

В этом случае злоумышленники могут подменить ваш запрос и передать вам ложный бинарный файл. Т.е. они смогут пользоваться всеми благами платного контента, не заплатив при этом ни рубля. Что бы избежать этого, необходимо покупку проверять через на своем сервере. Вот как это делается:
buy-ios-2

  • 1 Ваше приложение делает запрос на сервер AppStore
  • 2 AppStore проверяет ваш баланс и возможность покупки
  • 3.1 Если у пользователя нет денег или он не подтвердил списание. Сервер AppStore передает во флешку ошибку
  • 3.2 Если пользователь подтвердил покупку, идет списание денег со счета пользователя
  • 4 Сервер AppStore сообщает флешке что покупка прошла успешно. При этом сервер AppStore передает флешке бинарный файл, который идентифицирует покупку
  • 5 После того как ваше Flash приложение получило бинарный(Binary) файл, его надо отправить на ваш сервер
  • 6 Ваш сервер отправляет бинарный(Binary) файл на сервер AppStore что бы проверить его
  • 7 Сервер AppStore проверяет бинарный файл
  • 8.1 Если бинарник не верный, возвращается ошибка
  • 8.2 Если бинарник верный, сервер AppStore сообщает положительный ответ вашему серверу
  • 9 Ваш сервер сообщает вашему flash-приложени о том что покупка действительная, и отдает пользователю купленный предмет
  • 10 Ваше flash-приложение должно сообщить серверу App-Store информацию о том что покупка прошла успешно и можно закрыть сделку

Да прeбудет с вами Flash.
Serious Sam
Эту статью прочитали 1488 раз

Возникли вопросы по статье? Не стесняйтесь спрашивать в комментариях или любым другим способом на странице Контакты .

Присоединяйтесь к нам в социальных сетях: ВКонтакте , Twitter и Facebook
Понравилась статья? Буду благодарен если вы поделитесь ссылкой с друзьями:


Комментарии ВКонтакте:




Комментарии Facebook:




Комментарии WordPress: