Android 有没有办法';取消';或者,如果应用程序不在前台,则停止州际广告?

Android 有没有办法';取消';或者,如果应用程序不在前台,则停止州际广告?,android,admob,Android,Admob,我在我的应用程序中实现了一个插入式广告。此广告在用户执行某项任务时显示。现在,此任务出现在我的应用程序的主屏幕上,因此用户只需执行任务并离开应用程序。问题是,有时在用户执行任务并离开应用程序后会显示广告。这会让我被禁止进入游戏商店吗?还有,我的主要问题是,有没有办法避免这种情况?嗯,我认为这取决于解决办法,所以我想,希望你知道如何检查你的应用程序是否正在显示或没有使用生命周期方法。。假设我的布尔值是 static boolean showing = false; 然后在我有趣的广告上我加了一

我在我的应用程序中实现了一个插入式广告。此广告在用户执行某项任务时显示。现在,此任务出现在我的应用程序的主屏幕上,因此用户只需执行任务并离开应用程序。问题是,有时在用户执行任务并离开应用程序后会显示广告。这会让我被禁止进入游戏商店吗?还有,我的主要问题是,有没有办法避免这种情况?

嗯,我认为这取决于解决办法,所以我想,希望你知道如何检查你的应用程序是否正在显示或没有使用生命周期方法。。假设我的布尔值是

static boolean showing = false; 
然后在我有趣的广告上我加了一个听众

interstitial.setAdListener(new AdListener() {

                @Override
                public void onAdClosed() {
                    // TODO Auto-generated method stub
                    super.onAdClosed();
                }

                @Override
                public void onAdLoaded() {
                    // TODO Auto-generated method stub
                    super.onAdLoaded();
                    if(Myclassname.showing){// check if your app is showing                    
                    interstitial.show();
                    }
                }

                @Override
                public void onAdOpened() {
                    // TODO Auto-generated method stub
                    super.onAdOpened();
                }
            });

希望它是好的

我怀疑您的问题是从AdListener的
onAdLoaded()
调用
interstitual.show()
。不要这样做。它提供了一个糟糕的用户体验,并将禁止您的帐户


相反,您应该从应用程序中的自然断点调用
interstival.show()

我认为您需要提供更多信息。您对
的意思是什么?此任务位于主屏幕上
哪个任务及其外观如何。一张有很好描述的图片会让一切变得更加清晰@迈克,我的意思是它在应用程序的第一个屏幕上。当你启动应用程序时,这是你看到的第一件事。因此,用户执行任务并“退出”。这种情况发生得很快。因此,有时广告会在用户离开应用程序后显示。我的应用程序中也有广告,有时广告也会在很短的时间内显示。但在我的活动的
onPause
之外,它们永远不会显示。。因此,问题可能出在其他地方。如果在onPause之后没有显示,你的意思是说如果一个新活动打开并因此调用onPause,你就让广告通过了吗?我的意思是当有人将我的应用放回或打开第三方应用时。。包含广告的活动暂停时调用。。我有尺寸
横幅
。在onPause被调用之后,广告就消失了。这是合乎逻辑的,因为广告与自定义视图完全不同,其行为应该与我的活动布局中的所有其他视图相同……我已经想到了这一点。但我有多种活动。如果用户导航到不同的活动,该怎么办?广告将不会显示,因为我将显示设置为false,因为onPause被调用。不过,我有这个解决方法作为最后的手段。这听起来可能很愚蠢,但是,idk,为每个活动创建相应的布尔值,并使用if语句中的
&
检查其中一个是否为真,或者(合理的一个)您可以使用
activityManager.getRunningAppProcesses()循环运行进程
并检查进程是否正在运行,然后继续。。如果你不知道怎么做,你可以在这里搜索stackoverflow,这里有很多eg@user4351462