2016-08-17 12 views
0

アプリ購入広告削除機能でAndroidを実装しようとしています。私のクラスの下で、私はprivate boolean isAdsDisabled;を入れてonCreateの下で、私はこれは私のOnIabPurchaseFinishedListenerアプリ購入でブール値を使用して広告を削除する

IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener 
      = new IabHelper.OnIabPurchaseFinishedListener() { 
     public void onIabPurchaseFinished(IabResult result, 
              Purchase purchase) 
     { 
      if (result.isFailure()) { 
       // Handle error 
       return; 
      } 
      else if (purchase.getSku().equals(ITEM_SKU)) { 
       removeAds(); 
      } 

     } 
    }; 

ある

if (isAdsDisabled) { 
      AdView adView = (AdView) this.findViewById(R.id.adView); 
      adView.setVisibility(View.GONE); 
     } else { 
      AdView adView = (AdView) this.findViewById(R.id.adView); 
      AdRequest adRequest = new AdRequest.Builder().build(); 
      adView.loadAd(adRequest); 
     } 

を置く私のremoveAds()

private void removeAds() { 
     AdView adView = (AdView) this.findViewById(R.id.adView); 
     adView.setVisibility(View.GONE); 
     isAdsDisabled = true; 
    } 

成功した購入後、私は広告を非表示にする管理。しかし、私のアプリを再起動した後の問題は、広告が再表示されます。ブール値​​を保存できないようです。これを修正するには?

+0

あなたはブールtemporary.Itが活動 – Saveen

+0

を破壊した後にアクセスすることはできませんです。しかし、誰かがありますので使用し、さらにDBまたはサーバーでのアプリの購入での値を永久保存する必要がありますブール値を使用してそれを行うことができました: http://www.tutorialsface.com/2016/05/implementing-remove-ads-in-app-purchases-in-android-tutorial-example/ – user2872856

+0

アクティビティを破棄した後のブール値。これはどこにも保存されません – Saveen

答えて

0

SharedPreferencesを使用して解決しました。

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
     boolean isAdsDisabled = settings.getBoolean("isAdsDisabled", false); 

     if (isAdsDisabled) { 
      AdView adView = (AdView) this.findViewById(R.id.adView); 
      adView.setVisibility(View.GONE); 
     } else { 
      AdView adView = (AdView) this.findViewById(R.id.adView); 
      AdRequest adRequest = new AdRequest.Builder().build(); 
      adView.loadAd(adRequest); 
     } 

そして、私のremoveAds()

private void removeAds() { 
     AdView adView = (AdView) this.findViewById(R.id.adView); 
     adView.setVisibility(View.GONE); 
     SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
     SharedPreferences.Editor editor = settings.edit(); 
     editor.putBoolean("isAdsDisabled", true); 
     editor.commit(); 
    } 
関連する問題