Вы должны тестировать свою интеграцию на протяжении всего процесса разработки. Для тестирования на этапе разработки мы рекомендуем использовать тестеры лицензий и лабораторию биллинга Play для прогона сценариев, описанных в этом разделе.
Лицензионные тестеры
Чтобы настроить тестеры лицензий, см. раздел Проверка выставления счетов в приложении с помощью лицензирования приложений .
Использование тестеров лицензий дает следующие преимущества:
- Обычно библиотека платежей Google Play блокируется для приложений, которые не подписаны и не загружены в Google Play. Тестировщики лицензий могут обойти эту проверку. Это означает, что вы можете загружать неопубликованные приложения для тестирования, даже для приложений, использующих отладочные сборки с отладочными сигнатурами, без необходимости загрузки в новую версию вашего приложения. Обратите внимание, что имя пакета должно совпадать с именем приложения, настроенного для Google Play, а учетная запись Google должна быть тестером лицензии для учетной записи консоли Google Play.
- Тестировщики лицензий имеют доступ к тестовым методам оплаты, которые позволяют избежать взимания с тестировщиков реальных денег за покупки. Вы также можете использовать тестовые методы оплаты для моделирования определенных ситуаций, например, когда платеж отклонен. На рисунке 1 показаны эти тестовые формы оплаты в том виде, в котором они появляются в процессе покупки.
- Тестировщики лицензий могут быстро протестировать функции подписки .
![тестеры лицензий имеют доступ к тестовым способам оплаты](https://developer.android.com/static/images/google/play/billing/test-payment-methods.png?authuser=8&hl=ru)
Вот некоторые дополнительные сведения о процессе тестовой покупки:
- Тестовые покупки используют тот же процесс покупки приложения, что и реальные покупки.
- Налоги не рассчитываются для тестовых покупок.
- Google Play указывает на тестовую покупку, отображая уведомление в центре диалогового окна покупки.
Вы можете подтвердить учетную запись, в которой совершается покупка, развернув диалоговое окно покупки. Обратите внимание на следующее:
- Тестовые учетные записи должны находиться на устройстве Android тестировщика.
- Если на устройстве имеется более одной учетной записи, покупка осуществляется с той учетной записи, с которой было скачано приложение.
- Если ни один из аккаунтов не скачал приложение, покупка осуществляется с первого аккаунта.
Прежде чем распространять свое приложение, вы можете использовать тестовые треки Google Play для дополнительной проверки. Например, вы можете использовать тестовые треки, чтобы ваша команда контроля качества квалифицировала новый выпуск.
С помощью тестовых версий пользователи могут установить ваше приложение из Google Play и протестировать версию вашего приложения, которая еще не является общедоступной. Пользователи могут совершать реальные покупки, используя любой из способов оплаты в Google Play.
Чтобы протестировать интеграцию библиотеки платежей Google Play с помощью тестовых треков, выполните следующие действия:
- Опубликуйте свое приложение в тестовой версии . Обратите внимание: после публикации приложения на тестовой версии может пройти несколько часов, прежде чем приложение станет доступным для тестировщиков.
- Убедитесь, что каждый тестировщик согласился на тестирование вашего приложения . На URL-адресе вашего теста тестировщики видят объяснение того, что значит быть тестировщиком, а также ссылку для согласия.
Вы можете протестировать интеграцию на любом аппаратном устройстве под управлением Android 1.6 или более поздней версии. На устройстве должна быть установлена самая последняя версия приложения Google Play. Общие сведения о том, как настроить устройство для использования при разработке приложений Android, см. в разделе «Использование аппаратных устройств» .
Играть в «Биллинговую лабораторию»
Play Billing Lab – это приложение для Android, которое помогает разработчикам тестировать интеграцию с платежной системой Google Play. Он предоставляет разработчикам простой и удобный способ протестировать функции выставления счетов, ускорить интеграцию и повысить уверенность в запуске. Вы можете загрузить и установить Play Billing Lab из Play Store .
Play Billing Lab позволяет вам выполнять следующие действия при тестировании:
- Измените страну Play в Play Billing Lab и примените настройки к своему тесту. Это позволяет тестировать индивидуальный пользовательский интерфейс в разных странах/регионах независимо от того, где тестировщик физически тестирует.
- Повторное тестирование пробной версии или вводных предложений с использованием одной и той же учетной записи.
- Тестируйте изменения цен на подписку , не затрагивая других активных подписчиков.
![Панель управления Play Billing Lab](https://developer.android.com/static/images/google/play/billing/play-billing-lab-dashboard.png?authuser=8&hl=ru)
Тестируйте одноразовые продукты
Тестовые расходные материалы
При тестировании расходных материалов мы рекомендуем тестировать различные ситуации, включая следующие:
- Успешная покупка, при которой пользователь получает предмет. С помощью тестера лицензии вы можете использовать инструмент тестирования, всегда утверждающий способ оплаты.
- Покупка, при которой не удалось списать средства с помощью способа оплаты, и пользователь не должен получить товар. С помощью тестера лицензии вы можете использовать инструмент тестирования, всегда отклоняющий способ оплаты.
- Убедитесь, что товары можно приобрести несколько раз.
Вам также следует убедиться, что покупки правильно подтверждены, как описано в разделе «Обработка покупок» . При покупке у тестировщиков лицензий оплата будет возвращена через 3 минуты, если ваше приложение не подтвердит покупку, и вы получите электронное письмо об отмене. Вы также можете проверить вкладку «Заказы» в консоли Google Play, чтобы узнать, был ли возвращен заказ через 3 минуты.
Тестирование нерасходных продуктов
Нерасходные материалы следует тестировать так же, как и расходные материалы, но вы должны убедиться, что элемент нельзя снова приобрести в вашем приложении. Обязательно проверьте подтверждение покупки как для нерасходных материалов, так и для расходных материалов (если применимо), поскольку логика обработки каждого из двух типов покупок различается.
Тестируйте ожидающие покупки
Вам следует протестировать ожидающую покупку, при которой предмет должен быть предоставлен, когда состояние покупки становится PURCHASED
. Тестировщики лицензий имеют доступ к двум инструментам тестирования для отложенных форм оплаты, при которых платеж автоматически завершается или отменяется через пару минут.
Совершите покупку с отложенной формой оплаты «Медленная проверка карты, отклонение через несколько минут», как показано на рисунке 2. Перезапустите приложение и подтвердите, что покупка не была одобрена.
Рисунок 3. Проверьте покупку с помощью отклоненной карты медленного тестирования. Совершите покупку с отложенной формой оплаты «Карта медленного тестирования, подтверждение через несколько минут», как показано на рис. 3. Подождите несколько минут и подтвердите, что покупка одобрена.
Рисунок 4. Проверьте покупку с помощью одобренной карты медленного тестирования.
Дополнительную информацию можно найти в разделе «Обработка ожидающих транзакций» .
Тестирование функций подписки
Потоки покупки одноразовых продуктов и подписок аналогичны, но у подписок есть дополнительные сценарии, такие как успешное или отклоненное продление подписки. Чтобы протестировать продление, вы можете использовать Инструмент тестирования, всегда одобряет и Инструмент тестирования, всегда отклоняет способы оплаты, доступные для тестировщиков лицензий, как показано на рисунке 1. Используйте эти платежные инструменты для тестирования сценариев, выходящих за рамки сценария успешной подписки.
Как и в случае с одноразовыми продуктами, вам также следует убедиться, что покупки правильно подтверждены, как описано в разделе «Обработка покупок» . При покупке у тестировщиков лицензий оплата будет возвращена через 3 минуты, если ваше приложение не подтвердит покупку, и вы получите электронное письмо об отмене. Вы также можете проверить вкладку «Заказы» в консоли Google Play, чтобы узнать, был ли возвращен заказ через 3 минуты.
Периоды продления
Тестовые подписки продлеваются быстрее, чем реальные подписки, причем тестовые подписки можно продлевать максимум шесть раз, не считая бесплатных пробных версий и вводных периодов.
В следующей таблице указано время продления тестирования для подписок различной продолжительности. Эти сроки являются приблизительными. Вы можете увидеть небольшие изменения в точном времени события. Чтобы компенсировать различия, вызовите API, чтобы просмотреть текущий статус после истечения срока действия каждой подписки.
Период подписки на продукцию | Тестовое продление подписки |
1 неделя | 5 минут |
1 месяц | 5 минут |
3 месяца | 10 минут |
6 месяцев | 15 минут |
1 год | 30 минут |
Функции подписки на основе времени, такие как бесплатные пробные версии, также сокращаются для тестирования. В следующей таблице указаны периоды времени тестирования, связанные с функциями подписки на основе времени:
Особенность | Тестовый период |
Подтверждение покупки | 5 минут |
Бесплатная пробная версия | 3 минуты |
Начальный ценовой период | То же, что и тестовый период подписки |
Льготный период (3- и 7-дневный) | 5 минут |
Блокировка счета | 10 минут |
Пауза (1 месяц) | 5 минут |
Пауза (2 месяца) | 10 минут |
Пауза (3 месяца) | 15 минут |
Пробные предложения
Благодаря функции тестирования пробных предложений Play Billing Lab тестировщик лицензий может тестировать и использовать бесплатную пробную версию или вводные предложения неограниченное количество раз, установив флажок « Протестировать бесплатную пробную версию или вводное предложение » и применив изменения. Это избавляет от необходимости создавать несколько учетных записей для тестирования пробного предложения, доступного только новым подписчикам.
![тестовые пробные предложения](https://developer.android.com/static/images/google/play/billing/trial-offers-testing.png?authuser=8&hl=ru)
Изменения цен
Вы также можете использовать Play Billing Lab и тестеры лицензий для проверки изменений цен на подписку , не затрагивая других активных подписчиков, выполнив следующие действия:
- Нажмите «Управление» на карточке настроек подписки на панели управления .
- Выберите активную подписку, которую хотите протестировать.
- Введите новую цену.
- Установите или снимите флажок «Отказ пользователя» в соответствии с вашими требованиями к тестированию.
- Нажмите Применить .
![изменение цены тестовой подписки](https://developer.android.com/static/images/google/play/billing/play-billing-lab-price-change.png?authuser=8&hl=ru)
После применения ваших изменений цена будет обновляться начиная со следующего продления только для тестера. На других активных подписчиков это не повлияет. К тестовой подписке будут применяться все правила тестировщиков лицензий. Затем тестировщик может протестировать свое приложение на предмет последующих процессов, вызванных изменением цены, например уведомлений об изменении цены.
При планировании периодов тестирования учитывайте следующие соображения:
- Из-за небольшой продолжительности продления для тестировщиков лицензий вполне возможно, что миграция цен, выполненная с консоли, не будет зарегистрирована для тестировщиков лицензий. Чтобы обеспечить возможность тестирования уведомлений об изменении цен и электронных писем, разработчикам следует отложить выставление счетов как минимум на один час после запуска изменения цен.
- Снижение цен не имеет периода уведомления. Пользователи уведомляются о снижении цен вскоре после когортной миграции. При тестировании это не меняется.
- Для повышения цен время тестового уведомления рассчитывается так же, как и для фактического повышения:
- С пользователя впервые взимается плата в первую годовщину выставления счета после обязательного периода уведомления.
- Время уведомления рассчитывается в обратном направлении от даты первого платежа.
- Последнее уведомление всегда происходит за 1 минуту до списания средств, независимо от расчетного периода.
В следующей таблице показаны тестовые периоды выставления счетов и уведомлений для нескольких фактических периодов выставления счетов:
Фактический расчетный период базового плана | Тестовый расчетный период | Период уведомления о тестировании (регионы согласия и отказа с уведомлением за 30 дней) | Период уведомления о тестировании (регионы отказа с уведомлением за 60 дней) |
1 неделя | 5 минут | 5 минут | 10 минут |
1 месяц | 5 минут | 5 минут | 10 минут |
3 месяца | 10 минут | 3 минуты | 6 минут |
6 месяцев | 15 минут | 2 минуты | 4 минуты |
1 год | 30 минут | 3 минуты | 6 минут |
Тестовые случаи
Разверните следующий раздел, нажав «Показать/Скрыть» , чтобы отобразить сценарии тестирования, которые следует использовать для проверки интеграции вашей подписки.
Тестирование ожидающих транзакций
Вам следует проверить, что ожидающие транзакции обрабатываются правильно, и права соответствующим образом обновляются, когда состояние покупки становится PURCHASED
. Тестировщики лицензий имеют доступ к двум инструментам тестирования для отложенных форм оплаты, при которых платеж автоматически завершается или отменяется через пару минут.
Совершите покупку с отложенной формой оплаты «Медленная проверка карты, отклонение через несколько минут», как показано на рисунке 2. Перезапустите приложение и подтвердите, что покупка не была одобрена.
Рисунок 2. Проверьте покупку с помощью отклоненной карты медленного тестирования. Совершите покупку с отложенной формой оплаты «Карта медленного тестирования, подтверждение через несколько минут», как показано на рис. 3. Подождите несколько минут и подтвердите, что покупка одобрена.
Рисунок 3. Проверьте покупку с помощью одобренной карты медленного тестирования.
Тестовые промокоды
Вы можете использовать консоль Google Play для создания кодов для собственного тестирования . Помните, что вы можете создавать только 500 промокодов в квартал для всех управляемых продуктов в приложении.
Вам следует протестировать следующие сценарии использования промокода:
- При вводе промокода в диалоговом окне покупки, которое было запущено в вашем приложении.
- При активации промокода в приложении Google Play Store.
- Когда промокод погашен на https://play.google.com/store с помощью кнопки «Активировать» на левой панели навигации.
В рамках этих сценариев вам следует протестировать коды погашения как можно большим количеством способов. Мы рекомендуем выполнить как минимум следующие тесты:
- Погашение до установки приложения.
- Погашение, пока приложение работает на переднем плане. Обратите внимание, что для этого теста вам понадобится другое устройство для тестирования с помощью приложения Google Play Store. Обязательно протестируйте активации на разных экранах вашего приложения.
- Погашение в многооконном режиме , в котором одновременно отображаются и ваше приложение, и приложение Google Play Store.
Для каждого теста убедитесь, что элемент определен правильно и что пользователь уведомлен.
Протестируйте опыт покупки в разных регионах
Вы можете протестировать процесс покупки с помощью Play Billing Lab или без нее:
Тест с
Приложение Play Billing Lab для Android позволяет тестировать процесс покупок в любом регионе. Однако, чтобы использовать Play Billing Lab, вы должны быть тестировщиком лицензий. Для проверки выполните следующие действия:
- Зарегистрируйте пользователя выставления счетов за приложение в качестве тестера лицензий.
- Войдите в приложение Play Billing Lab под тем же пользователем.
- Выберите нужную страну и примените изменения в Play Billing Lab.
- Запустите процесс покупки в тестируемом приложении.
![опыт тестовых покупок в разных регионах](https://developer.android.com/static/images/google/play/billing/play-billing-lab-country.png?authuser=8&hl=ru)
Тест без
Вы также можете протестировать процесс покупки в любом регионе, не используя Лабораторию выставления счетов Play. Для проверки выполните следующие действия:
- Создайте новую учетную запись Gmail. Аккаунт можно создать в любой стране.
- При желании вы можете настроить для пользователя тестер лицензий.
- VPN в нужную страну для тестирования.
- Запустите процесс покупки.
Вы можете очистить данные и кэш Play Store, а затем повторить шаги №3 и №4 для любой страны, которую хотите протестировать. После переключения на новую страну вам необходимо будет очистить данные Google Play Store, чтобы удалить данные, относящиеся к предыдущей стране.
Оба эти метода тестирования покупок позволяют вам протестировать региональное право на участие и удобство использования в любом регионе, независимо от того, где вы физически тестируете.