谷歌在后台暂停我的广告应用

时间:2014-12-12 18:57:57

标签: android admob

昨天谷歌暂停我的应用程序从谷歌商店说我的广告是针对谷歌TOS。基本上有一种bug,我的错很明显,在某些设备中,如果你按下主页按钮并让应用程序在后台,广告也会继续显示。 我真的不知道如何解决它。

这是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>

这是主要的

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 个答案:

答案 0 :(得分:3)

制作处理程序和可运行的字段变量,然后像这样启动和停止它们。

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

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

答案 1 :(得分:1)

如果每部手机都没有出现此问题,则问题可能出在该用户的移动设置中。  只需检查是否选择了他/她的“设置&gt;开发人员选项&gt;不保留活动”。  如果选中它,则应用程序将在用户离开当前活动后立即销毁每个活动。  因此,当显示插页式广告时,当前活动通常会在onPause中。  但它将被销毁,当用户关闭插页式广告并再次返回创建时  运行,广告将显示。

如果你想在活动离开焦点时控制这些东西,它将属于onPause(),onStop()或onDestroy(),具体取决于你需要的控制级别。

答案 2 :(得分:0)

您的应用可能因此而被禁止:

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

显示来自onAdLoaded()的广告,并在应用中的自然断点处显示。