In-App биллинг v3, getPurchases () и android.test.purchased - PullRequest
0 голосов
/ 15 мая 2019

Предположительно после xx.may.2019 метод getPurchases () перестал возвращать тестовый элемент "android.test.purchased". Просто перестал работать, вот и все. Код клиента не изменился. Такое поведение наблюдается на трех тестовых устройствах. Предпринимались попытки очистить кеш.

Когда я пытаюсь сделать покупку:

private static final String IN_APP_BILLING = "inapp";
private final String packageName = context.getPackageName();
private String rewardId = "android.test.purchased";
private static final int BILLING_VER = 3;
......
try {
buyIntentBundle = getBillingService().getBuyIntent(BILLING_VER, packageName, rewardId, IN_APP_BILLING, null);
    } 
catch (RemoteException e) 
    {
      e.printStackTrace();
    }

Получите BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED.

Хорошо ...

Тогда звоните

String consumToken = IN_APP_BILLING + ":" + packageName + ":" + rewardedId;

try {
getBillingService().consumePurchase(BILLING_VER, packageName, consumToken);
......

метод успешно завершен.

После этого покупка успешно совершена. Но

try {
Bundle purchases = getBillingService().getPurchases(BILLING_VER, packageName, IN_APP_BILLING, null);
.....

метод не возвращает тестовый элемент.


Загруженная альфа-версия в Google Play с реальными идентификаторами - все хорошо работает ... Единственный возврат обновляется в кеше в течение дня (может быть до 3 дней).

P.S. Извините за плохой английский.

...