От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
Ошибки при проверке внутренних платежей Android-iOS и их решение
1. Ошибки при проверке внутренних
платежей Android-iOS и их решение.
Алёна Пономаренко
i-Free
2. Релиз-менеджер
iOS, Android
[ + Tizen, Amazon, whatever]
Цикл релиза с моей точки зрения:
Выдача ключей и сертификатов
Заведение ин-аппов и тестовых аккаунтов
Релиз!
4. В том или ином виде:
Песочница
Тестовый аккаунт
Тестовые билды и тестовые девайсы
Стандартная схема покупки:
1. Сама покупка, работают механизмы площадки
2. Передача информации о покупке в приложение
3. Потребление купленного ин-аппа (consume)
4. Ин-апп становится доступным для повторного приобретения
Пункты 3 и 4 только для многоразовых покупок
Не всегда
6. Полупесочница
Реальные аккаунты с пометочкой «тестовый»
Нужна привязанная карта, но фактически списаний не будет
Полноценные логи
Простая установка билдов
Релизные и черновые билды в админке
7. 1. Девелоперский аккаунт с объявленными в нём тестовыми
аккаунтами
2. Тестовый аккаунт с привязанной к нему кредитной карточкой
3. Загруженный, но не опубликованный билд приложения
4. Тестовое устройство, залогиненное в тестовый аккаунт
5. Билд из пункта 3 на устройстве из пункта 4
8. При нажатии на ин-апп мы видим окно с подписью
«это тестовый платёж»
Покупка завершается успешно
Деньги не списываются
В приложении нам начисляются положенные блага
9.
10. Тестировать платежи можно только на билде той же
версии, что и в админке.
Что делать: проверить совпадение версий на устройстве и в
админке
Только что загруженная версия может быть не видна
приложению часа два-четыре
12. Одноразовые и многоразовые (неправда c февраля 2013)
Либо разработчик обращается к одноразовым ин-аппам как
к многоразовым
Либо Google закрутил покупку между Google Checkout и
Google Play, надо подождать пару часов и/или
перезагрузиться
13. Обычно это проблема покупателей из-за неверно
настроенного Google Checkout
Что делать - стандартные ритуалы: перезагрузиться и
подождать немного
Крайняя мера – очистить данные Google Services
14. Или Google сказал, что платёж прошёл успешно, а
приложение сказало, что нет
Что делать – подождать, пока программисты починят
Такие ин-аппы пропадают бесследно!
Скорее всего, это серверная ошибка, связанная с подписью
Можно запомнить слова public key
16. Песочница
Никаких реальных карточек и реальных аккаунтов
Привязка к стору определённой страны
Не нужно никуда заливать билды
Зато есть провижены!
iTunes Connect для промо-материалов
Member Center для разработчиков
17. 1. «Cкелет» приложения с ин-аппами в iTunes Connect
2. Тестовый аккаунт страны, на которую заведено приложение
3. Тестовый девайс, заведённый в Member Center
4. Правильно собранный билд, установленный на девайсе из
пункта 3
18. При нажатии на ин-апп появляется окно с подписью
[Enviroment: Sandbox]
19.
20. Это полностью несуществующий аккаунт
Но e-mail должен быть уникальным среди как тестовых, так и
реальных акаунтов
У него не нужно вводить информацию о кредитной карте
Дата рождения ему вводится один раз при создании в
админке. При логине в него на устройстве – никогда
Если тестовый аккаунт на устройстве просит ввести что-
то, кроме логина и пароля – вы его сломали. Совсем.
21. Тестовый аккаунт может быть привязан к устройству лишь
одним способом.
1. Надо отвязать от устройства все настоящие аккаунты
2. Зайти в приложение
3. Тапнуть на ин-апп
4. И ввести логин-пароль
Все остальные способы
не сработают и сломают аккаунт.
22. Заведённое приложение недоступно в стране тестового
аккаунта
Приложение и тестовый аккаунт принадлежат разным
девелоперским аккаунтам
Вы используете реальный аккаунт
23. Очень странная ошибка, такого ограничения нет
Но вы можете встретить похожую при упорном тестировании
подписок.
Лично не встречала
Будьте осторожны при тестировании iOS-подписок
24. Может появиться на устройстве с jailbreak
Или при крайне плохом соединении с интернетом
Лично не встречала
По возможности не тестируйте на устройствах с jailbreak
Если, конечно, это не часть вашей целевой аудитории