Upload
andrey-baskov
View
1.121
Download
0
Embed Size (px)
DESCRIPTION
Презентация с выступления на MDDay 2012.
Citation preview
Опыт разработки кросс-платформенного мобильного
приложения для крупного видео портала
Андрей БасковTouch Instinct
CoinKeeper
• 1 место в Top Paid Finance
• 3 место в Top Paid Overall
• Держится на 1-3 месте в Top Finance в течении 8(!) месяцев
• iPhone, iPad, Android версии
Stream
• 1 место в Top Free iPad• 6 место в Top Free
iPhone• Более 100.000
установок за 2 недели• iPhone, iPad, Android
телефоны/планшеты• Первая версия для iPad
и Android была сделана за 2 недели
Stream.ru
• Видео портал для просмотра фильмов• Доступны покупка, аренда фильмов и
подписка на каталог• Аналогичные сервисы: ivi.ru, now.ru, ayyo,
много их
Задачи мобильного приложения
• Расширение базы устройств воспроизведения
• Привлечение новых пользователей• Концепция трех экранов (телефон, планшет,
PC)
Казалось бы, что может быть проще?
• Сложности организации продажи контента• Review hell• Взаимодействие с командой API• DRM
Продажа контента - Android
• Делай что хочешь, свобода, анархия• Можно использовать In-App purchase, но 30%• Можно свои механизмы – счет на сайте,
карточки, PayPal• Реализация In-App’ов ощутимо сложнее чем
в iOS• Сложность тестирования, приготовьте деньги
Продажа контента - iOS
• Деспотия, тоталитаризм и авось пропустят• Встроенные покупки только через Apple c 30% • Нельзя использовать Consumable In-App для
покупки фильмов (но много кто так делает, Bookmate например)
• Нужно создавать по In-App’у на каждый фильм• Относительно простая разработка и
тестирование
Продажа контента – Windows Phone 7
• Не реализованы встроенные покупки• Соответственно можно использовать
любую стороннюю систему• Например MoVend, CarrotPay• Что будет когда In-App’ы все таки
реализуют?
Review Hell6 незабываемых реджектов!
Я читаю письмо о 4м реджекте
Реджект 1
• Отправлена 1 версия без покупок и регистрации
• Ответ: «У вас в EULA сказано что-то про покупки, но покупок нет, скажите где покупки»
• «У вас в EULA что-то про регистрацию, дайте нам демо аккаунт чтобы залогиниться»
• Они читают EULA и придираются к словам!• Ушла 1 неделя
Реджект 2
• 2.23 iOS Data Storage Guidelines• Ок, наша вина, хранили закэшированные
картинки не там• Обьяснение было подробным, придраться
не к чему• Еще 8 дней
Реджект 3
• Отправили версию с покупками• Ответ: «11.7 Вы используете Consumable In-
App, а надо по In-App’у на фильм»• Объясняем что фильмов больше 500, нет
сил заливать столько инапов• Пошли ругаться с Review Board• 3 недели
Реджект 4
• Отправляем версию без покупок• Ответ: «9.4 не надо играть видео по 3G,
используйтей HLS” и «11.3 использование сторонних методов покупки контента»
• 11.3 в приложении, где нет ни регистрации, ни какой либо покупки вообще!
Реджект 5
• Отсылаем версию без проигрывания по 3G• Ответ: «У вас в приложении есть контент
(фильмы), на который у вас должны быть права. Предоставьте подтверждающие документы»
• 2 недели ушло на проверку документов
Реджект 6
• Ура, все таки релизим 1.0!• Чуть спустя отправляем версию с
переделанными покупками• Ответ: «Приложение запрашивает email для
доступа к не персонализированным функциям (покупка фильма)»
Выводы
• Отвечают по пункту за раз, что растягивается на месяцы
• Апеллировать к Review Board долго и мучительно
• Можете просто отправить тот же билд заново, может повести
• Дотошно следуйте Review Guidelines и давайте подробные комментарии для ревьюверов
Взаимодействие с серверной командой
• У вас ничего не работает!• У нас все работает!• У вас ничего не работает!• У нас все работает!
Как наладить процесс и не разругаться
• Обсуждайте спецификацию АПИ до разработки
• Слушайте мнение тех, кто будет использовать АПИ
• Пишите и обновляйте документацию• Делайте автоматизированные тесты,
доступные обоим сторонам• Не верьте себе, не верьте никому
DRM
• Крупные мейджоры требуют DRM• В Stream использовался Widevine (куплен
Google)• В Android встроен изначально• Для iOS предоставляется библиотека• Не работает на джейлбрейкнутых девайсах
Кроссплатформенность
• Используем Monotouch и Mono for Android• Общий код пишется один раз• UI все равно переписывается• Сокращает время и затраты• Первая версия была сделана за 2 недели (да,
мы крутые )
Итого
• Заказчик: счастлив и доволен, работаем дальше
• Мы: теперь еще более классные специалисты в области мобильного контента
• Пользователи: получили удобное и красивое приложение
Спасибо за внимание!
Обращайтесь к нам, мы делаем крутые штуки!
Андрей БасковTouch Instinct
[email protected]@AndreyBaskov+7 906 278 60 87