Здесь bp.loadOwnedPurchasesFromGoogle () всегда возвращает false, поэтому код не выполняется, и показываются объявления, даже если покупка является madde
Вот ссылка на документацию библиотеки биллинга anjlab: https://github.com/anjlab/android-inapp-billing-v3
Я попробовал следующий код. Метод ontore () вызывается внутри onCreate ().
public void restore(){
if (bp.loadOwnedPurchasesFromGoogle()){
if (bp.isPurchased("remove_ads")){
FancyToast.makeText(MainActivity.this,"Pro Version Restored",FancyToast.LENGTH_LONG,FancyToast.INFO,true).show();
CoordinatorLayout adscontainer = (CoordinatorLayout) findViewById(R.id.coordinator);
View admobAds = (View) findViewById(R.id.adView);
adscontainer.removeView(admobAds);
}
else
{
MobileAds.initialize(this,"ca-app-pub-8443413787087664~2607463808");
mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
loadInterstitialAd();
ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
service.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
Log.i("hello","world");
runOnUiThread(new Runnable() {
@Override
public void run() {
if (mInterstitialAd.isLoaded()){
mInterstitialAd.show();
}
else {
Log.d("TAG","Interstitial Ad not loaded");
}
loadInterstitialAd();
}
});
}
},30,30, TimeUnit.SECONDS);
}
}
}
Объявления не должны загружаться, если пользователь приобрел профессиональный продукт.