Есть класс SettingsFragment в котором совершается покупка отключения рекламы и проверяется была ли совершена покупка.
Строка SettingsActivity.SettingsFragment.getIsPurchased(this)
возвращает true, если покупка была совершена.
Помогите исправить мой метод. В общем мне нужно сделать следующее:
- Если нет соединения с интернетом просто открыть активити.
- Если все же соединение есть, то проверить была осуществлена покупка ранее, если была, то просто открыть активити, а если не было, то показать межстраничную рекламу, а после закрытия рекламы запустить активити.
Что-то у меня не получается реализовать. Два раза открывается второе активити и реклама вообще не показывается, если покупка не была совершена.
private void showInterstitial(Intent i, Context c){ final Intent intent = i; if (getResources().getString(R.string.admob_i).length() == 0) return; if (NetworkUtil.getConnectivityStatus(c) == NetworkUtil.TYPE_NOT_CONNECTED) { startActivity(intent); } else if (NetworkUtil.getConnectivityStatus(c) == NetworkUtil.TYPE_MOBILE | NetworkUtil.getConnectivityStatus(c) == NetworkUtil.TYPE_WIFI) { if (!SettingsActivity.SettingsFragment.getIsPurchased(this)) { final InterstitialAd interstitialAd = new InterstitialAd(this); interstitialAd.setAdUnitId(getResources().getString(R.string.admob_i)); AdRequest adRequest = new AdRequest.Builder().build(); interstitialAd.loadAd(adRequest); if (interstitialAd.isLoaded()) { interstitialAd.show(); } else { startActivity(intent); } interstitialAd.setAdListener(new AdListener() { @Override public void onAdClosed() { startActivity(intent); interstitialAd.loadAd(new AdRequest.Builder().build()); } }); } else if (SettingsActivity.SettingsFragment.getIsPurchased(this)) { return; } } }