SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
AppStore In-App Purchase
Разбор полётов эконом-классом

              Виктор Котов, ГК Азофт
                    DevDays2GIS 2012
Примечание: в силу условий NDA используется вымышленное название приложения.

                                                                               3
Бизнес-модели iOS приложений

             1




         2




     3

                               4
In-App Purchases = ДЕНЬГИ




  Стоимость продукта/услуги
     от $0.99 до $999.99

                              5
Обзор типов In-App Purchases

             Consumable



           Non-Consumable


        Non-Renewing Subscriptions
        Auto-Renewing Subscriptions
             Free Subscriptions
                                      6
Две модели для реализации IAP

   1
        AppStore

   2
                        Сервер
                        ●   свой
                        ●   UrbanAirShip
                            и пр.


    AppStore

                                       7
Серверная модель и типы IAP
Сервер не требуется
    Consumable
Рекомендуется использовать сервер
    Non-Consumable
    Auto-Renewing Subscriptions
    Free Subscriptions

Обязательно использовать сервер!
    Non-Renewing Subscriptions
                                    8
Покупка товара/услуги через IAP




                                  9
Проверка действия подписки IAP




         json-запрос
              +
        shared secret




                                 10
Восстановление подписки через IAP




                                    11
Тестирование
       In-App Purchase
● сервера валидации
  https://sandbox.itunes.apple.com/verifyReceipt
  https://buy.itunes.apple.com/verifyReceipt

  Статус: 21007 и 21008.

"машина времени"
  Цикл подписки: 6 раз и больше не повторяется!

● тестовые пользователи
  Адрес электронной почты может быть
  несуществующим.

                                                   12
История успеха

+ бонус-трек про
 Apple Review :)



                   13
Защита от "взлома" IAP




       Verification
        Controller
                         14
Ссылки на дополнительные
     источники по теме

Developer Apple IAP http://goo.gl/ccJy7

UrbanAirShip http://goo.gl/BZRGN

IAP Intro Tutorial http://goo.gl/am92e




                                          15
@end

    kotov@azoft.com
Skype: victor.kotov.azoft

Mais conteúdo relacionado

Destaque

«Я спросил у сервера...», Илья Пастушков
«Я спросил у сервера...», Илья Пастушков«Я спросил у сервера...», Илья Пастушков
«Я спросил у сервера...», Илья ПастушковDevDay
 
Фича готова. Что дальше?
Фича готова. Что дальше?Фича готова. Что дальше?
Фича готова. Что дальше?DevDay
 
Хочу делать игры, пусть меня научат — DevDay, 06.06.2012
Хочу делать игры, пусть меня научат — DevDay, 06.06.2012Хочу делать игры, пусть меня научат — DevDay, 06.06.2012
Хочу делать игры, пусть меня научат — DevDay, 06.06.2012DevDay
 
Lua vs c++_desyatov
Lua vs c++_desyatovLua vs c++_desyatov
Lua vs c++_desyatovDevDay
 
Взаимодействие Go и C-библиотек. Go и Erlang
Взаимодействие Go и C-библиотек. Go и ErlangВзаимодействие Go и C-библиотек. Go и Erlang
Взаимодействие Go и C-библиотек. Go и ErlangDevDay
 
«Bdd и реактивщина в 2ГИС», Евгений Тютюев
«Bdd и реактивщина в 2ГИС», Евгений Тютюев«Bdd и реактивщина в 2ГИС», Евгений Тютюев
«Bdd и реактивщина в 2ГИС», Евгений ТютюевDevDay
 
Инструкция по созданию самопального биллинга, Михаил Крестьянинов (Новотелеком)
Инструкция по созданию самопального биллинга, Михаил Крестьянинов (Новотелеком)Инструкция по созданию самопального биллинга, Михаил Крестьянинов (Новотелеком)
Инструкция по созданию самопального биллинга, Михаил Крестьянинов (Новотелеком)DevDay
 
Матвей Мальков «Ещё один поиск контактов на Android»
Матвей Мальков «Ещё один поиск контактов на Android»Матвей Мальков «Ещё один поиск контактов на Android»
Матвей Мальков «Ещё один поиск контактов на Android»DevDay
 
Распределенное хранилище Ceph. Обзор и практические способы использования
Распределенное хранилище Ceph. Обзор и практические способы использованияРаспределенное хранилище Ceph. Обзор и практические способы использования
Распределенное хранилище Ceph. Обзор и практические способы использованияDevDay
 
Рендеринг может больше: vue.js vs React, Андрей Солодовников
Рендеринг может больше: vue.js vs React, Андрей СолодовниковРендеринг может больше: vue.js vs React, Андрей Солодовников
Рендеринг может больше: vue.js vs React, Андрей СолодовниковDevDay
 
Тимофей Чаптыков «Верстальщик должен быть ленивый»
Тимофей Чаптыков «Верстальщик должен быть ленивый»Тимофей Чаптыков «Верстальщик должен быть ленивый»
Тимофей Чаптыков «Верстальщик должен быть ленивый»DevDay
 

Destaque (11)

«Я спросил у сервера...», Илья Пастушков
«Я спросил у сервера...», Илья Пастушков«Я спросил у сервера...», Илья Пастушков
«Я спросил у сервера...», Илья Пастушков
 
Фича готова. Что дальше?
Фича готова. Что дальше?Фича готова. Что дальше?
Фича готова. Что дальше?
 
Хочу делать игры, пусть меня научат — DevDay, 06.06.2012
Хочу делать игры, пусть меня научат — DevDay, 06.06.2012Хочу делать игры, пусть меня научат — DevDay, 06.06.2012
Хочу делать игры, пусть меня научат — DevDay, 06.06.2012
 
Lua vs c++_desyatov
Lua vs c++_desyatovLua vs c++_desyatov
Lua vs c++_desyatov
 
Взаимодействие Go и C-библиотек. Go и Erlang
Взаимодействие Go и C-библиотек. Go и ErlangВзаимодействие Go и C-библиотек. Go и Erlang
Взаимодействие Go и C-библиотек. Go и Erlang
 
«Bdd и реактивщина в 2ГИС», Евгений Тютюев
«Bdd и реактивщина в 2ГИС», Евгений Тютюев«Bdd и реактивщина в 2ГИС», Евгений Тютюев
«Bdd и реактивщина в 2ГИС», Евгений Тютюев
 
Инструкция по созданию самопального биллинга, Михаил Крестьянинов (Новотелеком)
Инструкция по созданию самопального биллинга, Михаил Крестьянинов (Новотелеком)Инструкция по созданию самопального биллинга, Михаил Крестьянинов (Новотелеком)
Инструкция по созданию самопального биллинга, Михаил Крестьянинов (Новотелеком)
 
Матвей Мальков «Ещё один поиск контактов на Android»
Матвей Мальков «Ещё один поиск контактов на Android»Матвей Мальков «Ещё один поиск контактов на Android»
Матвей Мальков «Ещё один поиск контактов на Android»
 
Распределенное хранилище Ceph. Обзор и практические способы использования
Распределенное хранилище Ceph. Обзор и практические способы использованияРаспределенное хранилище Ceph. Обзор и практические способы использования
Распределенное хранилище Ceph. Обзор и практические способы использования
 
Рендеринг может больше: vue.js vs React, Андрей Солодовников
Рендеринг может больше: vue.js vs React, Андрей СолодовниковРендеринг может больше: vue.js vs React, Андрей Солодовников
Рендеринг может больше: vue.js vs React, Андрей Солодовников
 
Тимофей Чаптыков «Верстальщик должен быть ленивый»
Тимофей Чаптыков «Верстальщик должен быть ленивый»Тимофей Чаптыков «Верстальщик должен быть ленивый»
Тимофей Чаптыков «Верстальщик должен быть ленивый»
 

Semelhante a App store iap. short comments

Подписки в iOS и Android приложениях
Подписки в iOS и Android приложенияхПодписки в iOS и Android приложениях
Подписки в iOS и Android приложенияхVictoria Kozlova
 
Виктория Козлова "Подписки в iOS и Android приложениях: когда тестировщику не...
Виктория Козлова "Подписки в iOS и Android приложениях: когда тестировщику не...Виктория Козлова "Подписки в iOS и Android приложениях: когда тестировщику не...
Виктория Козлова "Подписки в iOS и Android приложениях: когда тестировщику не...IT Event
 
Где водится мобильная автоматизация и как научить ее приносить тапочки
Где водится мобильная автоматизация и как научить ее приносить тапочкиГде водится мобильная автоматизация и как научить ее приносить тапочки
Где водится мобильная автоматизация и как научить ее приносить тапочкиOxagile
 
Разработка мобильных приложений
Разработка мобильных приложенийРазработка мобильных приложений
Разработка мобильных приложенийООО "Лайф из"
 
от Cpi к cpa повышаем конверсии в приложениях google илья сидоров
от Cpi к cpa повышаем конверсии в приложениях google илья сидоровот Cpi к cpa повышаем конверсии в приложениях google илья сидоров
от Cpi к cpa повышаем конверсии в приложениях google илья сидоровAppsFlyer
 
Электронный киоск
Электронный киоскЭлектронный киоск
Электронный киоскSouren M
 
Lamoda - Mobile marketing (Business Breakfast 16/06/16)
Lamoda - Mobile marketing (Business Breakfast 16/06/16)Lamoda - Mobile marketing (Business Breakfast 16/06/16)
Lamoda - Mobile marketing (Business Breakfast 16/06/16)Efim Aldoukhov
 
ДЛЯ МОБИЛЬНЫХ РАЗРАБОТЧИКОВ
ДЛЯ МОБИЛЬНЫХ РАЗРАБОТЧИКОВДЛЯ МОБИЛЬНЫХ РАЗРАБОТЧИКОВ
ДЛЯ МОБИЛЬНЫХ РАЗРАБОТЧИКОВEmpatika
 
Т.Авлочинская (Softeq Development) - "Как не надо делать мобильные приложения"
Т.Авлочинская (Softeq Development) - "Как не надо делать мобильные приложения"Т.Авлочинская (Softeq Development) - "Как не надо делать мобильные приложения"
Т.Авлочинская (Softeq Development) - "Как не надо делать мобильные приложения"PCampRussia
 

Semelhante a App store iap. short comments (13)

Подписки в iOS и Android приложениях
Подписки в iOS и Android приложенияхПодписки в iOS и Android приложениях
Подписки в iOS и Android приложениях
 
Виктория Козлова "Подписки в iOS и Android приложениях: когда тестировщику не...
Виктория Козлова "Подписки в iOS и Android приложениях: когда тестировщику не...Виктория Козлова "Подписки в iOS и Android приложениях: когда тестировщику не...
Виктория Козлова "Подписки в iOS и Android приложениях: когда тестировщику не...
 
Где водится мобильная автоматизация и как научить ее приносить тапочки
Где водится мобильная автоматизация и как научить ее приносить тапочкиГде водится мобильная автоматизация и как научить ее приносить тапочки
Где водится мобильная автоматизация и как научить ее приносить тапочки
 
ReadyScript Mobile
ReadyScript MobileReadyScript Mobile
ReadyScript Mobile
 
IN-APP advertising by ADMIXER
IN-APP advertising by ADMIXERIN-APP advertising by ADMIXER
IN-APP advertising by ADMIXER
 
Kuznecova alina
Kuznecova alinaKuznecova alina
Kuznecova alina
 
Разработка мобильных приложений
Разработка мобильных приложенийРазработка мобильных приложений
Разработка мобильных приложений
 
от Cpi к cpa повышаем конверсии в приложениях google илья сидоров
от Cpi к cpa повышаем конверсии в приложениях google илья сидоровот Cpi к cpa повышаем конверсии в приложениях google илья сидоров
от Cpi к cpa повышаем конверсии в приложениях google илья сидоров
 
Электронный киоск
Электронный киоскЭлектронный киоск
Электронный киоск
 
Lamoda - Mobile marketing (Business Breakfast 16/06/16)
Lamoda - Mobile marketing (Business Breakfast 16/06/16)Lamoda - Mobile marketing (Business Breakfast 16/06/16)
Lamoda - Mobile marketing (Business Breakfast 16/06/16)
 
ДЛЯ МОБИЛЬНЫХ РАЗРАБОТЧИКОВ
ДЛЯ МОБИЛЬНЫХ РАЗРАБОТЧИКОВДЛЯ МОБИЛЬНЫХ РАЗРАБОТЧИКОВ
ДЛЯ МОБИЛЬНЫХ РАЗРАБОТЧИКОВ
 
«Продвижение мобильных приложений: с чего начать?». Вебинар WebPromoExperts #162
«Продвижение мобильных приложений: с чего начать?». Вебинар WebPromoExperts #162«Продвижение мобильных приложений: с чего начать?». Вебинар WebPromoExperts #162
«Продвижение мобильных приложений: с чего начать?». Вебинар WebPromoExperts #162
 
Т.Авлочинская (Softeq Development) - "Как не надо делать мобильные приложения"
Т.Авлочинская (Softeq Development) - "Как не надо делать мобильные приложения"Т.Авлочинская (Softeq Development) - "Как не надо делать мобильные приложения"
Т.Авлочинская (Softeq Development) - "Как не надо делать мобильные приложения"
 

Mais de DevDay

«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий Музюкин
«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий Музюкин«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий Музюкин
«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий МузюкинDevDay
 
Фреймворк Slot, Good Parts, Александр Бирюков
Фреймворк Slot, Good Parts, Александр БирюковФреймворк Slot, Good Parts, Александр Бирюков
Фреймворк Slot, Good Parts, Александр БирюковDevDay
 
Devops-практики в разработке решений для бизнеса, Максим Пашук
Devops-практики в разработке решений для бизнеса, Максим ПашукDevops-практики в разработке решений для бизнеса, Максим Пашук
Devops-практики в разработке решений для бизнеса, Максим ПашукDevDay
 
Inversion of Control в деталях, Дмитрий Кожевников
Inversion of Control в деталях, Дмитрий КожевниковInversion of Control в деталях, Дмитрий Кожевников
Inversion of Control в деталях, Дмитрий КожевниковDevDay
 
«Используем неизменяемые данные и создаем качественный код», Игорь Кудрин
«Используем неизменяемые данные и создаем качественный код», Игорь Кудрин«Используем неизменяемые данные и создаем качественный код», Игорь Кудрин
«Используем неизменяемые данные и создаем качественный код», Игорь КудринDevDay
 
«Велогосипед», Данил Ильиных
«Велогосипед», Данил Ильиных«Велогосипед», Данил Ильиных
«Велогосипед», Данил ИльиныхDevDay
 
«Процесс создания продукта», Максим Берёзкин
«Процесс создания продукта», Максим Берёзкин«Процесс создания продукта», Максим Берёзкин
«Процесс создания продукта», Максим БерёзкинDevDay
 
«Вывод продукта на новых территориях», Елизавета Алексеенко
«Вывод продукта на новых территориях», Елизавета Алексеенко«Вывод продукта на новых территориях», Елизавета Алексеенко
«Вывод продукта на новых территориях», Елизавета АлексеенкоDevDay
 
Лабиринт на Arduino, Вадим Ипполитов
Лабиринт на Arduino, Вадим ИпполитовЛабиринт на Arduino, Вадим Ипполитов
Лабиринт на Arduino, Вадим ИпполитовDevDay
 
«Хоба-хоба и в продакшн», Женя Пономарёв
«Хоба-хоба и в продакшн», Женя Пономарёв«Хоба-хоба и в продакшн», Женя Пономарёв
«Хоба-хоба и в продакшн», Женя ПономарёвDevDay
 
«Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев
«Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев «Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев
«Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев DevDay
 
«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел СташевскийDevDay
 
«Открытая веб картография», Илья Таратухин
«Открытая веб картография», Илья Таратухин«Открытая веб картография», Илья Таратухин
«Открытая веб картография», Илья ТаратухинDevDay
 
«Изоморфные js приложения с использованием catberry.js», Денис Речкунов
«Изоморфные js приложения с использованием catberry.js», Денис Речкунов«Изоморфные js приложения с использованием catberry.js», Денис Речкунов
«Изоморфные js приложения с использованием catberry.js», Денис РечкуновDevDay
 
Олег Годовых «Страх и ненависть в Event Bus»
Олег Годовых «Страх и ненависть в Event Bus»Олег Годовых «Страх и ненависть в Event Bus»
Олег Годовых «Страх и ненависть в Event Bus»DevDay
 
Распределенные приложения и Azure Service Bus
Распределенные приложения и Azure Service BusРаспределенные приложения и Azure Service Bus
Распределенные приложения и Azure Service BusDevDay
 
Frontend
FrontendFrontend
FrontendDevDay
 
Илья Беда «Как Erlang сделает ваши приложения реалтаймовыми»
Илья Беда «Как Erlang сделает ваши приложения реалтаймовыми»Илья Беда «Как Erlang сделает ваши приложения реалтаймовыми»
Илья Беда «Как Erlang сделает ваши приложения реалтаймовыми»DevDay
 
Роман Акинфеев «Разработка RESTful API with all bells and whistles»
Роман Акинфеев «Разработка RESTful API with all bells and whistles»Роман Акинфеев «Разработка RESTful API with all bells and whistles»
Роман Акинфеев «Разработка RESTful API with all bells and whistles»DevDay
 
Александр Щепановский «Почему каждому языку нужен свой _»
Александр Щепановский «Почему каждому языку нужен свой _»Александр Щепановский «Почему каждому языку нужен свой _»
Александр Щепановский «Почему каждому языку нужен свой _»DevDay
 

Mais de DevDay (20)

«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий Музюкин
«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий Музюкин«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий Музюкин
«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий Музюкин
 
Фреймворк Slot, Good Parts, Александр Бирюков
Фреймворк Slot, Good Parts, Александр БирюковФреймворк Slot, Good Parts, Александр Бирюков
Фреймворк Slot, Good Parts, Александр Бирюков
 
Devops-практики в разработке решений для бизнеса, Максим Пашук
Devops-практики в разработке решений для бизнеса, Максим ПашукDevops-практики в разработке решений для бизнеса, Максим Пашук
Devops-практики в разработке решений для бизнеса, Максим Пашук
 
Inversion of Control в деталях, Дмитрий Кожевников
Inversion of Control в деталях, Дмитрий КожевниковInversion of Control в деталях, Дмитрий Кожевников
Inversion of Control в деталях, Дмитрий Кожевников
 
«Используем неизменяемые данные и создаем качественный код», Игорь Кудрин
«Используем неизменяемые данные и создаем качественный код», Игорь Кудрин«Используем неизменяемые данные и создаем качественный код», Игорь Кудрин
«Используем неизменяемые данные и создаем качественный код», Игорь Кудрин
 
«Велогосипед», Данил Ильиных
«Велогосипед», Данил Ильиных«Велогосипед», Данил Ильиных
«Велогосипед», Данил Ильиных
 
«Процесс создания продукта», Максим Берёзкин
«Процесс создания продукта», Максим Берёзкин«Процесс создания продукта», Максим Берёзкин
«Процесс создания продукта», Максим Берёзкин
 
«Вывод продукта на новых территориях», Елизавета Алексеенко
«Вывод продукта на новых территориях», Елизавета Алексеенко«Вывод продукта на новых территориях», Елизавета Алексеенко
«Вывод продукта на новых территориях», Елизавета Алексеенко
 
Лабиринт на Arduino, Вадим Ипполитов
Лабиринт на Arduino, Вадим ИпполитовЛабиринт на Arduino, Вадим Ипполитов
Лабиринт на Arduino, Вадим Ипполитов
 
«Хоба-хоба и в продакшн», Женя Пономарёв
«Хоба-хоба и в продакшн», Женя Пономарёв«Хоба-хоба и в продакшн», Женя Пономарёв
«Хоба-хоба и в продакшн», Женя Пономарёв
 
«Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев
«Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев «Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев
«Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев
 
«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский
 
«Открытая веб картография», Илья Таратухин
«Открытая веб картография», Илья Таратухин«Открытая веб картография», Илья Таратухин
«Открытая веб картография», Илья Таратухин
 
«Изоморфные js приложения с использованием catberry.js», Денис Речкунов
«Изоморфные js приложения с использованием catberry.js», Денис Речкунов«Изоморфные js приложения с использованием catberry.js», Денис Речкунов
«Изоморфные js приложения с использованием catberry.js», Денис Речкунов
 
Олег Годовых «Страх и ненависть в Event Bus»
Олег Годовых «Страх и ненависть в Event Bus»Олег Годовых «Страх и ненависть в Event Bus»
Олег Годовых «Страх и ненависть в Event Bus»
 
Распределенные приложения и Azure Service Bus
Распределенные приложения и Azure Service BusРаспределенные приложения и Azure Service Bus
Распределенные приложения и Azure Service Bus
 
Frontend
FrontendFrontend
Frontend
 
Илья Беда «Как Erlang сделает ваши приложения реалтаймовыми»
Илья Беда «Как Erlang сделает ваши приложения реалтаймовыми»Илья Беда «Как Erlang сделает ваши приложения реалтаймовыми»
Илья Беда «Как Erlang сделает ваши приложения реалтаймовыми»
 
Роман Акинфеев «Разработка RESTful API with all bells and whistles»
Роман Акинфеев «Разработка RESTful API with all bells and whistles»Роман Акинфеев «Разработка RESTful API with all bells and whistles»
Роман Акинфеев «Разработка RESTful API with all bells and whistles»
 
Александр Щепановский «Почему каждому языку нужен свой _»
Александр Щепановский «Почему каждому языку нужен свой _»Александр Щепановский «Почему каждому языку нужен свой _»
Александр Щепановский «Почему каждому языку нужен свой _»
 

App store iap. short comments