#android #testing #playback #billing #billingclient
Вопрос:
Я хочу протестировать свой серверный сервер, чтобы убедиться, что я обрабатываю ответ от Google.Apis.AndroidPublisher.v3.purchases.products.get правильно. При запуске потока выставления счетов с использованием тестовой учетной записи я получаю код ответа BillingClient.BillingResponseCode.ITEM_UNAVAILABLE в PurchasesUpdatedListener.
Вот шаги для воспроизведения:
- Я использую Galaxy tab и Android Studio и запускаю приложение в отладчике
- используйте BillingClient.Запустите Billingflow, чтобы запустить диалоговое окно покупки
- появляется диалоговое окно покупки Android с сообщением об ОШИБКЕ: запрошенный вами товар недоступен для покупки.
- когда пользователь нажимает OK в диалоговом окне, PurchasesUpdatedListener выдает код ответа: billingResult.getResponseCode() = BillingClient.BillingResponseCode.ITEM_UNAVAILABLE
Вот что я проверил:
- приобретаемый товар активен в консоли Google Play
- этот элемент правильно возвращается при выставлении счета клиенту.Вызывается querySkuDetailsAsync
- учетная запись на планшете, которую я использую для отладки, является тестером лицензий на консоли
- Я пробовал как RESPONS_NORMALLY, так и LICENSED на вкладке license tester в консоли
- код версии идентичен тому, что загружается на закрытом тестовом треке
- учетная запись на планшете имеет действительную кредитную карту
Если я попробую выполнить описанную выше процедуру с помощью элемента приложения android.test.purchased, тогда все будет работать. Когда пользователь нажимает кнопку покупки, используя диалоговое окно поддельной кредитной карты, я получаю правильный ответ (billingResult.getResponseCode() = BillingClient.BillingResponseCode.OK).
Однако в этом случае я не могу использовать токен, предоставленный PurchasesUpdatedListener, потому что он поддельный и Google.Apis.AndroidPublisher.v3.purchases.products.get выдает ошибку 400. Для успешной покупки мне нужна реальная покупка, чтобы я мог отправить это на свой сервер, чтобы он мог отправлять Google.Apis.AndroidPublisher.v3 реальный токен для получения реального ответа.
По этой ссылке: https://developer.android.com/google/play/billing/test?authuser=1 то, что я пытаюсь сделать, возможно. Согласно ссылке, приложение не обязательно должно проходить альфа- или бета-тестирование и может быть отладочной сборкой с боковой загрузкой.
Кто-нибудь знает, почему я получаю BillingClient.BillingResponseCode.ITEM_ НЕДОСТУПЕН во время тестирования?