【问题标题】:Blocking a network call from an SDK Android App阻止来自 SDK Android 应用程序的网络调用
【发布时间】:2016-07-11 18:32:30
【问题描述】:

我正在使用谷歌的 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 发送的这个虚拟广告调用列入黑名单,但我们仍然获得了改进的性能。这是通过代理完成的,我们专门阻止了这个广告调用网址。

现在我的问题是有办法解决这个问题吗?我正在寻找一种在拨打电话后基本上断开连接的方法。 SDK 发出请求,但它从未到达我们 Android APP 内的谷歌服务器。

【问题讨论】:

    标签: java android sdk admob


    【解决方案1】:

    解决方案 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")。 希望对你有帮助。

    【讨论】:

    • 我的问题是关于在 AdMobs SDK 成功后阻止网络调用。在现实世界的场景中,我希望 Admob SDK 进行 Ad 调用,并且我想实现一个基本上会阻止此调用或重写此调用的功能。
    • 您能否详细说明 JAVA/XML 方法?我很困惑。
    • 有人在java和xml文件中声明他们的编程
    • 你在哪里看到我同时使用 JAVA 和 XML?
    • 这很奇怪,这个答案怎么会得到这么多的赞……这个答案与我的要求相差甚远
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多