Как обновить billingclient
Cлучилось так, что Google потребовал обновить библиотеку billingclient на 3 версию или выше.
У меня она была 1.2.2 (после того как я ее обновил на 3.0.2), но случилось это !
"В программировании я разбираюсь плохо, только изучаю, но мне очень нужно это исправить. Подскажите, что можно сделать? Огромное спасибо!"
Вот код:
public class Main0Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(R.style.Home_AppTheme);
setContentView(R.layout.activity_main0);
mBillingClient();
}
private Map<String, SkuDetails> mSkuDetailsMap = new HashMap<>();
private String load1 = "1";
private BillingClient mBillingClient;
public void mBillingClient() {
mBillingClient = BillingClient.newBuilder(this).setListener(new PurchasesUpdatedListener() {
@Override
public void onPurchasesUpdated(int responseCode, @Nullable List<Purchase> purchases) {}
}).build();
mBillingClient.startConnection(new BillingClientStateListener() {
@Override
public void onBillingSetupFinished(@BillingClient.BillingResponse int billingResponseCode) {
if (billingResponseCode == BillingClient.BillingResponse.OK) {
//здесь мы можем запросить информацию о товарах и покупках
querySkuDetails();
List<Purchase> purchasesList = queryPurchases();
for (int i = 0; i < purchasesList.size(); i++) {
String purchaseId = purchasesList.get(i).getSku();
if(TextUtils.equals(load1, purchaseId)) {
payComplete_load1();
}
}
}
}
@Override
public void onBillingServiceDisconnected() {
//сюда мы попадем если что-то пойдет не так
}
});
}
private void querySkuDetails() {
SkuDetailsParams.Builder skuDetailsParamsBuilder = SkuDetailsParams.newBuilder();
List<String> skuList = new ArrayList<>();
skuList.add(load1);
skuDetailsParamsBuilder.setSkusList(skuList).setType(BillingClient.SkuType.INAPP);
mBillingClient.querySkuDetailsAsync(skuDetailsParamsBuilder.build(), new SkuDetailsResponseListener() {
@Override
public void onSkuDetailsResponse(int responseCode, List<SkuDetails> skuDetailsList) {
if (responseCode == 0) {
for (SkuDetails skuDetails : skuDetailsList) {
mSkuDetailsMap.put(skuDetails.getSku(), skuDetails);
}
}
}
});
}
public void payComplete_load1() {
}
private List<Purchase> queryPurchases() {
Purchase.PurchasesResult purchasesResult = mBillingClient.queryPurchases(BillingClient.SkuType.INAPP);
return purchasesResult.getPurchasesList();
}
}

