Java 阻止来自SDK Android应用程序的网络调用

Java 阻止来自SDK Android应用程序的网络调用,java,android,sdk,admob,Java,Android,Sdk,Admob,我使用的是谷歌AdMob SDK,在应用程序启动期间会发生某种初始化,基本上会导致一个虚拟调用(来自谷歌的虚拟响应)。为了使我们的应用程序中的广告更具时效性并提高其性能,谷歌提出了这条路径。确切地说,这就是他们建议在应用程序中加入的内容 PublisherAdView mAdView = new PublisherAdView (this); mAdView.setAdUnitId( this.getResources().getString(R.string. banner_ad_unit_i

我使用的是谷歌AdMob SDK,在应用程序启动期间会发生某种初始化,基本上会导致一个虚拟调用(来自谷歌的虚拟响应)。为了使我们的应用程序中的广告更具时效性并提高其性能,谷歌提出了这条路径。确切地说,这就是他们建议在应用程序中加入的内容

PublisherAdView mAdView = new PublisherAdView (this);
mAdView.setAdUnitId( this.getResources().getString(R.string. banner_ad_unit_id));
mAdView.setAdSizes(AdSize. BANNER, AdSize.MEDIUM_RECTANGLE);
PublisherAdRequest adRequest = new PublisherAdRequest.Builder().build();
mAdView.loadAd(adRequest);
现在这样做之后,它会在真正的广告调用之前进行一次虚拟广告调用,从而提高真正广告调用的性能

问题:这会导致额外的网络通话,谷歌说他们会为此向我们收费,这对我们来说是一个额外的负担

现在为了解决这个问题,我们测试了一个场景,其中我们将AdMob SDK发送的这个虚拟广告调用列为黑名单,我们仍然获得了改进的性能。这是通过代理完成的,我们专门阻止了这个广告呼叫Url

现在我的问题是,有没有办法绕过这个问题?我正在寻找一种方法,在打完电话后基本上断开连接。SDK发出请求,但它从未到达我们Android应用程序中的谷歌服务器。

解决方案1:-

问题可能是您对相同的事情使用了混合Java/XML方法。您必须删除所有的Java和纯XML,这样它就可以正常工作了

解决方案2:-

在设备上进行测试时,请检查logcat输出。这可能是因为网络连接问题,还请注意,setTesting仅请求模拟器上的测试广告(虚拟Google广告),对于addTestDevice(AdRequest.test_emulator)或 addTestDevice(“当您在上发出请求时,您的设备ID在日志中找到‌​_装置”)。
我希望它能对您有所帮助。

我的问题是,在AdMobs SDK成功阻止网络呼叫后,如何阻止网络呼叫。在真实场景中,我希望Admob SDK进行Ad调用,并且我希望实现一个基本上会阻止此调用或重写此调用的功能。您能详细介绍一下JAVA/XML方法吗?我很困惑。有人在java和xml文件中声明他们的编程,你看到我在哪里同时使用java和xml?这很奇怪,为什么这个答案会得到这么多人的喜欢。。。这个答案与我的问题非常接近