2016-07-03 2 views

답변

2

일반적으로 admob을 초기화하는 곳에서 날씨를 확인하거나 사용자가 인앱 구매를 완료하지 않은 부울을 추가합니다. 부울이 참인 경우 (광고 제거가 구매 된 경우) 광고는 게재되지 않습니다. false (광고 제거가 구매되지 않음)이면 광고가 표시됩니다.

IAB v3을 다시 설치하면 기존 구매 항목을 얻고 이에 따라 조치를 취할 것입니다. 광고 제거와 같은 영구 구매 을 사용해서는 안됩니다. 부울을 저장하지 않거나 사용자가 새 장치를 가져 오는 경우 사용자가 제거 광고를 다시 구입해야합니다. 이 은 분노를 유발합니다!

IAB (IAP)를 설정할 때 인벤토리를 쿼리합니다. 거기에 부울을 inizialize (나는 그것을 showAds라고 불렀다). 에서 onCreate에서 :

private void computeAds(){ 
    AdView mAdView = (AdView) findViewById(R.id.adView); 
    if(!showAds){ 
     mAdView.setVisibility(View.GONE); 

    }else { 
     AdRequest adRequest = new AdRequest.Builder().build(); 
     mAdView.loadAd(adRequest); 
    } 
} 

computeAds은 구입 후 호출 할 수 있습니다 (이것은 사소한 드라이브 예에없는) 그런 다음 외부

....(other onCreate stuff. make sure setContentView is called before this:) 
Log.d(TAG, "Starting setup."); 
    mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() { 
     public void onIabSetupFinished(IabResult result) { 
      Log.d(TAG, "Setup finished."); 

      if (!result.isSuccess()) { 
       // Oh noes, there was a problem. 
       complain("Problem setting up in-app billing: " + result); 
       return; 
      } 

      // Have we been disposed of in the meantime? If so, quit. 
      if (mHelper == null) return; 

      mBroadcastReceiver = new IabBroadcastReceiver(Game.this); 
      IntentFilter broadcastFilter = new IntentFilter(IabBroadcastReceiver.ACTION); 
      registerReceiver(mBroadcastReceiver, broadcastFilter); 

      // IAB is fully set up. Now, let's get an inventory of stuff we own. 
      Log.d(TAG, "Setup successful. Querying inventory."); 
      try { 
       mHelper.queryInventoryAsync(mGotInventoryListener); 

      } catch (Exception e) { 
       complain("Error querying inventory. Another async operation in progress."); 
      } 
     } 
    }); 

    computeAds(); 

(이것은 구글에서 사소한 드라이브의 예에서 입수 할 수있다) 즉시 광고를 숨 깁니다. 다시 시작하면 광고가 초기화되지 않습니다.

+0

감사 https://github.com/anjlab/android-inapp-billing-v3 라이브러리를 사용하고 있습니다 구입 후 광고를 제거하는 가장 좋은 방법입니다, 내가 부울 값을 저장하는 prefernce를 공유하는 데 사용됩니다. – Mubashshir

1

이것은

if (!bp.isPurchased("prime") { 
 
      mAdView = (AdView) findViewById(R.id.adView1); 
 
      AdRequest adRequest = new AdRequest.Builder().build(); 
 
      mAdView.loadAd(adRequest); 
 

 

 
     }else if(bp.isPurchased("prime")){ 
 
      mAdView = (AdView) findViewById(R.id.adView1); 
 

 
      mAdView.setVisibility(View.GONE); 
 

 
     }

내가