Я запускаю следующий код при каждом запуске приложения.
billingClient.queryPurchases( BillingClient.SkuType.SUBS );
Purchase.PurchasesResult purchasesResult = billingClient.queryPurchases( BillingClient.SkuType.SUBS );
if (purchasesResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
ArrayList<String> skus = new ArrayList<>( Arrays.asList( getResources().getStringArray( R.array.array_subs_sku ) ) );
for (String sku : skus) {
setFlag( mContext, sku + KEY_SKU_PURCHASED, false );
}
for (Purchase purchase : purchasesResult.getPurchasesList()) {
setFlag( mContext, purchase.getSku() + KEY_SKU_PURCHASED, true );
setFlag( mContext, FLAG_SUBSCRIBED, true );
getIsSubscribed(); // check here if subscription status has changed
//Log.d( TAG, "onPurchaseHistoryResponse: SUBS" + purchase.getSku() + " / " + getDateStampString( String.valueOf( purchase.getPurchaseTime() / 1000 ) ) + " / State : " + purchase.getPurchaseState() );
}
}
дайте мне знать, если вам нужна дополнительная помощь с этим. Но это должно быть довольно просто. Мой код имеет некоторые из моих собственных функций и переменных, но он даст вам представление о том, как этого добиться.