BillingClient.QuerypurchasasasAsync's List пустAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 BillingClient.QuerypurchasasasAsync's List пуст

Сообщение Anonymous »

Во -первых, я хотел бы понять, что предложение может быть странным, потому что оно написано с использованием переводчика. Встроенный в журнал, функция обратного вызова, которую я получил, позвонив в «billingClient.launchbillingflow» содержит информацию о покупке в «списке». «QuerPurchasasasAsync» может получить информацию о покупке, которая не является «употреблением», но я не могу найти причину, по которой нет информации о покупке.
Вы знаете, как решить эту проблему? Если вы это сделаете, пожалуйста, помогите. Спасибо.
BuyListener _buyListener = null;
private void init()
{
_buyListener = new BuyListener();

...

_billingClient = BillingClient.newBuilder(_activity.getApplicationContext())
.enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())
.setListener(_buyListener)
.build();
}

public void onProductDetailsResponse(BillingResult billingResult, List productDetailsList)
{
if(BillingClient.BillingResponseCode.OK == billingResult.getResponseCode())
{
...

BillingResult result = _billingClient.launchBillingFlow(_activity, billingFlowParams);
if(BillingClient.BillingResponseCode.OK != result.getResponseCode())
{
log('A'); // not show
}
}
}

// class BuyListener
public void onPurchasesUpdated(BillingResult billingResult, List purchases)
{
if(BillingClient.BillingResponseCode.OK != billingResult.getResponseCode())
{
log('B'); // not show
return;
}

if(null == list)
{
log('C'); // not show
return;
}

if(1 != list.size())
{
log('D : '+list.size()); // not show
return;
}

log('E:'+list.get(0).getProducts().get()); // show E : products[0]

getReceipts();
}

public void getReceipts()
{
if(null == _billingClient)
{
log('F') // not show
}

int state = _billingClient.getConnectionState();
if(BillingClient.ConnectionState.CONNECTED != state)
{
log('G') // not Show
}

QueryPurchasesParams params = QueryPurchasesParams.newBuilder()
.setProductType(BillingClient.ProductType.INAPP)
.build();
_billingClient.queryPurchaseAsync(params, new GetReceiptsListener());
}

//class GetReceiptsListener
public void onQueryPurchasesResponse(BillingResult billingResult, List purchases)
{
if(BillingClient.BillingResponseCode.OK != billingResult.getResponseCode())
{
log('H'); // not show
return;
}

if(null == list)
{
log('I'); // not show
return;
}

if(1 != list.size())
{
log('J : '+list.size()); // show J : 0
return;
}
}


Подробнее здесь: https://stackoverflow.com/questions/795 ... e-is-empty
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»