25
Ошибки при проверке внутренних платежей Android-iOS и их решение. Алёна Пономаренко i-Free

Ошибки при проверке внутренних платежей Android-iOS и их решение

  • Upload
    sqalab

  • View
    485

  • Download
    4

Embed Size (px)

DESCRIPTION

Доклад Алёны Пономаренко на SQA Days-15. 18-19 апреля, 2014, Москва. www.sqadays.com

Citation preview

Page 1: Ошибки при проверке внутренних платежей Android-iOS и их решение

Ошибки при проверке внутренних платежей Android-iOS и их решение.

Алёна Пономаренкоi-Free

Page 2: Ошибки при проверке внутренних платежей Android-iOS и их решение

О себе

Релиз-менеджерiOS, Android [ + Tizen, Amazon, whatever]

Цикл релиза с моей точки зрения:Выдача ключей и сертификатовЗаведение ин-аппов и тестовых аккаунтовРелиз!

Page 3: Ошибки при проверке внутренних платежей Android-iOS и их решение

План доклада

Общая информацияAndroid

Как тестировать и что нужноХороший сценарийПлохие сценарии

iOSКак тестировать и что нужноХороший сценарийПлохие сценарии

Page 4: Ошибки при проверке внутренних платежей Android-iOS и их решение

Общая информация

В том или ином виде: Песочница Тестовый аккаунт Тестовые билды и тестовые девайсы

Стандартная схема покупки:1. Сама покупка, работают механизмы площадки2. Передача информации о покупке в приложение3. Потребление купленного ин-аппа (consume)4. Ин-апп становится доступным для повторного приобретения

Пункты 3 и 4 только для многоразовых покупок Не всегда

Page 5: Ошибки при проверке внутренних платежей Android-iOS и их решение

Android

Page 6: Ошибки при проверке внутренних платежей Android-iOS и их решение

Как это происходит в Android

ПолупесочницаРеальные аккаунты с пометочкой «тестовый»Нужна привязанная карта, но фактически списаний не будетПолноценные логиПростая установка билдовРелизные и черновые билды в админке

Page 7: Ошибки при проверке внутренних платежей Android-iOS и их решение

Для тестирования платежей

1. Девелоперский аккаунт с объявленными в нём тестовыми аккаунтами

2. Тестовый аккаунт с привязанной к нему кредитной карточкой3. Загруженный, но не опубликованный билд приложения 4. Тестовое устройство, залогиненное в тестовый аккаунт5. Билд из пункта 3 на устройстве из пункта 4

Page 8: Ошибки при проверке внутренних платежей Android-iOS и их решение

Когда всё хорошо

При нажатии на ин-апп мы видим окно с подписью «это тестовый платёж»Покупка завершается успешно Деньги не списываютсяВ приложении нам начисляются положенные блага

Page 9: Ошибки при проверке внутренних платежей Android-iOS и их решение

Когда всё плохо

Page 10: Ошибки при проверке внутренних платежей Android-iOS и их решение

Несовпадение версий

Тестировать платежи можно только на билде той же версии, что и в админке. Что делать: проверить совпадение версий на устройстве и в админкеТолько что загруженная версия может быть не видна приложению часа два-четыре

Page 11: Ошибки при проверке внутренних платежей Android-iOS и их решение

Connection timed out

Плохое соединение:Практически всегда лечится переключением с 3g на wi-fi и с wi-fi на другой wi-fi.

Page 12: Ошибки при проверке внутренних платежей Android-iOS и их решение

Купить купленное

Одноразовые и многоразовые (неправда c февраля 2013)Либо разработчик обращается к одноразовым ин-аппам как к многоразовымЛибо Google закрутил покупку между Google Checkout и Google Play, надо подождать пару часов и/или перезагрузиться

Page 13: Ошибки при проверке внутренних платежей Android-iOS и их решение

Что-то пошло не так

Обычно это проблема покупателей из-за неверно настроенного Google CheckoutЧто делать - стандартные ритуалы: перезагрузиться и подождать немногоКрайняя мера – очистить данные Google Services

Page 14: Ошибки при проверке внутренних платежей Android-iOS и их решение

Вроде всё хорошо и без ошибок, но...

Или Google сказал, что платёж прошёл успешно, а приложение сказало, что нетЧто делать – подождать, пока программисты починятТакие ин-аппы пропадают бесследно!Скорее всего, это серверная ошибка, связанная с подписьюМожно запомнить слова public key

Page 15: Ошибки при проверке внутренних платежей Android-iOS и их решение

iOS

Page 16: Ошибки при проверке внутренних платежей Android-iOS и их решение

Как это происходит в iOS

ПесочницаНикаких реальных карточек и реальных аккаунтовПривязка к стору определённой страныНе нужно никуда заливать билды Зато есть провижены!iTunes Connect для промо-материаловMember Center для разработчиков

Page 17: Ошибки при проверке внутренних платежей Android-iOS и их решение

Для тестирования платежей

1. «Cкелет» приложения с ин-аппами в iTunes Connect 2. Тестовый аккаунт страны, на которую заведено приложение3. Тестовый девайс, заведённый в Member Center4. Правильно собранный билд, установленный на девайсе из

пункта 3

Page 18: Ошибки при проверке внутренних платежей Android-iOS и их решение

Когда всё хорошо

При нажатии на ин-апп появляется окно с подписью [Enviroment: Sandbox]

Page 19: Ошибки при проверке внутренних платежей Android-iOS и их решение

Когда всё плохо

Page 20: Ошибки при проверке внутренних платежей Android-iOS и их решение

Важное про тестовые аккаунты iOS

Это полностью несуществующий аккаунтНо e-mail должен быть уникальным среди как тестовых, так и реальных акаунтовУ него не нужно вводить информацию о кредитной картеДата рождения ему вводится один раз при создании в админке. При логине в него на устройстве – никогдаЕсли тестовый аккаунт на устройстве просит ввести что-то, кроме логина и пароля – вы его сломали. Совсем.

Page 21: Ошибки при проверке внутренних платежей Android-iOS и их решение

Требуется верификация

Тестовый аккаунт может быть привязан к устройству лишь одним способом.1. Надо отвязать от устройства все настоящие аккаунты2. Зайти в приложение3. Тапнуть на ин-апп4. И ввести логин-пароль

Все остальные способыне сработают и сломают аккаунт.

Page 22: Ошибки при проверке внутренних платежей Android-iOS и их решение

Не тот аккаунт или страна

Заведённое приложение недоступно в стране тестового аккаунтаПриложение и тестовый аккаунт принадлежат разным девелоперским аккаунтамВы используете реальный аккаунт

Page 23: Ошибки при проверке внутренних платежей Android-iOS и их решение

Ошибки, о которых мало кто знает

Очень странная ошибка, такого ограничения нетНо вы можете встретить похожую при упорном тестировании подписок.Лично не встречала

Будьте осторожны при тестировании iOS-подписок

Page 24: Ошибки при проверке внутренних платежей Android-iOS и их решение

Ошибки, о которых мало кто знает

Может появиться на устройстве с jailbreakИли при крайне плохом соединении с интернетомЛично не встречала

По возможности не тестируйте на устройствах с jailbreakЕсли, конечно, это не часть вашей целевой аудитории

Page 25: Ошибки при проверке внутренних платежей Android-iOS и их решение

Спасибо!Вопросы?

Allien Po