Я реализовал покупку приложения в своем приложении. Но это выгодно пользователю без покупки. Может кто-нибудь помочь мне решить проблему? Я использовал ключ base64, чтобы убедиться, что покупка действительна или по-прежнему не получает эту ошибку {Пользователь получает вознаграждение, но в моей консоли нет истории заказов.}. Это очень сложно, поэтому я спрашиваю, поможет ли какой-нибудь эксперт мне решить эту проблему.
Здесь я потребляю покупки и награждаю пользователя.
@Override
public void onPurchasesUpdated(int responseCode, @Nullable List<Purchase> purchases) {
if (responseCode == BillingClient.BillingResponse.OK
&& purchases != null) {
for (Purchase purchase : purchases) {
if (verifyValidSignature(purchase.getOriginalJson(), purchase.getSignature())) {
handlePurchase(purchase);
consumePurchase(purchase);
}
}
}
}
boolean thatThingHappened = false;
private void handlePurchase(Purchase purchase) {
switch (purchase.getSku()) {
case ITEM_S: {
if (purchase.getPurchaseToken()!=null){
if (!thatThingHappened){
thatThingHappened = true;
//reward the user
/*incrementCoins(2000); */
//In database i am getting this and it has been more than 15 without any purchase
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
rootRef.child("Purchase").push().child(Uid).setValue(2000);
}
}
break;
}
}
}
private boolean verifyValidSignature(String signedData, String signature) {
return Security.verifyPurchase(getString(R.string.base64Key), signedData, signature);
}