2014-12-12 2 views
1

어제 Google 스토어에서 내 앱이 google TOS와 관련 있다고 말하면서 Google 앱을 일시 중지했습니다. 기본적으로 일종의 버그가 있습니다. 분명히 내 잘못입니다. 일부 기기에서는 홈 버튼을 누르고 백그라운드에서 앱을 보급하면 광고가 계속 게재됩니다. 나는 그것을 고치는 법을 정말로 모른다. 배경에 광고가있는 앱을 내 Google에서 일시 중지했습니다.

이 메인

public class MainActivity extends ActionBarActivity 
{ 
    private WebView webView; 
    private InterstitialAd interstitial; 
    String Url="Myurl"; 
    List<String> segments = new ArrayList<String>(); 
    int delay = 120000; //milliseconds 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 


     final Handler handler = new Handler(); 
     handler.postDelayed(new Runnable() { 
      @Override 
      public void run() 
      { 
       //advertise(); 
       handler.postDelayed(this, delay); 
      } 
     }, 7000); 
     // 
    } 



    public void advertise() 
    { 
       // Prepare the Interstitial Ad 
       interstitial = new InterstitialAd(MainActivity.this); 
       // Insert the Ad Unit ID 
       interstitial.setAdUnitId("MyID"); 

       //Locate the Banner Ad in activity_main.xml 
       AdView adView = (AdView) this.findViewById(R.id.adView); 

       // Request for Ads 
       AdRequest adRequest = new AdRequest.Builder() 

       // Add a test device to show Test Ads 
       .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) 
       .addTestDevice("CC5F2C72DF2B356BBF0DA198") 
         .build(); 

       // Load ads into Banner Ads 
       adView.loadAd(adRequest); 

       // Load ads into Interstitial Ads 
       interstitial.loadAd(adRequest); 

       // Prepare an Interstitial Ad Listener 
       interstitial.setAdListener(new AdListener() 
       { 
        public void onAdLoaded() { 
         // Call displayInterstitial() function 
         displayInterstitial(); 
        } 
       }); 
    } 
      public void displayInterstitial() 
      { 
       // If Ads are loaded, show Interstitial else show nothing. 
       if (interstitial.isLoaded()) 
       { 
        interstitial.show(); 
       } 
      }*/ 

      @Override 
      public boolean onCreateOptionsMenu(Menu menu) 
      { 
       // Inflate the menu; this adds items to the action bar if it is present. 
       getMenuInflater().inflate(R.menu.main, menu); 
       return super.onCreateOptionsMenu(menu); 
      } 
      public boolean onOptionsItemSelected(MenuItem item) { 
       switch (item.getItemId()) 
       { 
        case R.id.twitter:   
        Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://twitter.com/salvoaranzulla")); 
        startActivity(browserIntent); 
        break; 
        case R.id.facebook: 
        Intent browserIntent1 = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/salvoaranzulla?ref=ts&fref=ts")); 
        startActivity(browserIntent1); 
        break; 
       } 
       return true; 
      } 

} 

답변

3

핸들러 및 실행 가능한 필드 변수를 확인하고 시작과 같이 그들을 막을 것입니다 XML 코드

<com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     ads:adSize="INTERSTITIAL" 
     ads:adUnitId="MyID" > 
    </com.google.android.gms.ads.AdView> 

입니다.

@Override 
public void onStart() { 
    super.onStart(); 
    mHandler.postDelayed(mUpdateTimeTask, delay); 
} 

@Override 
public void onStop() { 
    super.onStop(); 
    mHandler.removeCallbacks(mUpdateTimeTask); 
} 
+0

감사합니다. 월요일에 시도해 보겠습니다. 물론 작동합니다. 다시 한 번 감사드립니다. –

1

모든 전화에서이 문제가 발생하지 않는 경우 사용자의 모바일 설정에 문제가있을 수 있습니다. "설정> 개발자 옵션> 활동을 보관하지 않음"이 선택되어 있는지 확인하십시오. 이 앱을 선택하면 사용자가 현재 활동을 종료하자마자 앱이 모든 활동을 삭제합니다. 삽입 광고가 표시되면 현재 활동이 onPause에 정상적으로 유지됩니다. 하지만 파괴되고 사용자가 삽입 광고를 닫고 다시 생성되면 이 실행되어 광고가 표시됩니다.

액티비티가 포커스를 벗어날 때이 작업을 제어하려면 필요한 컨트롤 수준에 따라 onPause(), onStop() 또는 onDestroy()에 속합니다.

0

이 앱은 아마 이것 때문에 금지되었다 :

  // Prepare an Interstitial Ad Listener 
      interstitial.setAdListener(new AdListener() 
      { 
       public void onAdLoaded() { 
        // Call displayInterstitial() function 
        displayInterstitial(); 
       } 
      }); 

onAdLoaded()에서 하지 디스플레이 광고를 수행 앱에서 자연 중단 점에 그것을 표시합니다.

관련 문제