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

标签 java android sdk admob

我正在使用谷歌的 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 APP 内的谷歌服务器。

最佳答案

解决方案 1:-

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

解决方案 2:-

在您的设备上进行测试时检查 logcat 输出。这可能是因为网络连接问题,另请注意,setTesting 仅在模拟器上请求测试广告(虚拟 Google 广告),并且不推荐使用 addTestDevice(AdRequest.TEST_EMULATOR) 或 addTestDevice("YOUR_DEVICE_ID_FOUND_IN_LOGCAT_WHEN_MAKING_A_REQUEST_ON_A‌ _DEVICE"). 希望对您有所帮助。

关于java - 阻止来自 SDK Android 应用程序的网络调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38313821/

相关文章:

安卓sdk安装。错误 : Invalid content was found starting with element 'd:skin' . 此时不应有子元素

java - Exceptions 与 throws 子句不兼容的原因是什么?

java - 按下箭头键时如何防止JScrollPane滚动

android - PDFRenderer 无法显示文件

java - 为什么 Eclipse 不记得我的启动配置?

android - 什么是App多行文字共享 Intent

java - ScheduledExecutorService 一段时间后未运行

java - 按下后退按钮时 SwitchCompat 状态发生变化

iphone - 有什么方法可以将 Xcode 3 与 iOS SDK 4.3 一起使用?

android - 如何为旧项目更新Gradle文件中的依赖项?