)Android In-App-rozliczenie zwrotu/anulowania trwa długo
Próbuję wdrożyć rozliczeń w aplikacji w mojej aplikacji. W Konsoli programisty Google Play zadeklarowałem zarządzany element. Kupowanie tego przedmiotu działa naprawdę dobrze. Ale teraz, gdy zwracam lub anuluję zakup w centrum handlowym Google Wallet, moja aplikacja zajmuje bardzo dużo czasu (więcej dni), aby rozpoznać, że przedmiot nie jest już własnością.
Przeczytałem już wiele innych artykułów na ten temat i uważam, że jednym logicznym wyjaśnieniem jest to, że zakup jest zapisany w pamięci podręcznej Sklepu Google Play. Chociaż wiem, że to pytanie często zadawano, proszę ponownie:
Czy można wyczyścić pamięć podręczną lub czy ktoś wie, jak powiedzieć mojej aplikacji, gdy zakup nie jest już własnością?
Jestem wdzięczny za wszelkie podpowiedzi, który pomaga mi rozwiązać ten problem: D
Ponadto, moim kodu, w którym pytam, czy przedmiot został zakupiony. Używam rozliczeń w aplikacji v3.
public boolean hasUserBoughtItem() {
try {
Bundle ownedItems = mService.getPurchases(mUsedAPI, mContext.getPackageName(),
mPurchaseType, null);
int response = ownedItems.getInt("RESPONSE_CODE");
if(response == 0) {
ArrayList<String> ownedSkus = ownedItems.getStringArrayList("INAPP_PURCHASE_ITEM_LIST");
if(!ownedSkus.isEmpty()) {
for(String sku : ownedSkus) {
if(sku.equals(Constants.ITEM_ID_ALL_RECIPES)) {
return true;
}
}
}
return false;
}
} catch(Exception e) {
e.printStackTrace();
}
return false;
}