AdLoader 始终加载内容广告

AdLoader always loads content ad

我已经为我的应用程序创建了一个自定义的 AdLoader。但它总是加载内容广告,从不安装广告。如果我删除 .forContentAd,我将获得安装广告,但如果我将两者都保留,我将仅获得内容广告。谁能告诉我为什么?

这是我的代码:

 new AdLoader.Builder(activityContext, getString(R.string.test_admob_unit_id))
                .forContentAd(new NativeContentAd.OnContentAdLoadedListener() {
                    @Override
                    public void onContentAdLoaded(NativeContentAd contentAd) {
                        adQueue.add(contentAd);
                    }
                })
                .forAppInstallAd(new NativeAppInstallAd.OnAppInstallAdLoadedListener() {
                    @Override
                    public void onAppInstallAdLoaded(NativeAppInstallAd appInstallAd) {
                        adQueue.add(appInstallAd);
                    }
                })

            .withAdListener(new AdListener() {
                @Override
                public void onAdFailedToLoad(int errorCode) {
                    // Handle the failure by logging, altering the UI, etc.
                }
            })
            .withNativeAdOptions(new NativeAdOptions.Builder()
                    // Methods in the NativeAdOptions.Builder class can be
                    // used here to specify individual options settings.
                    .build())
        .build();

是的,我可以告诉你原因。

当您发出请求时,AdMob 的服务器将始终尝试挑选最能为您带来收益的广告。他们通过进行拍卖来做到这一点,在拍卖中,不同广告商的广告活动将竞争成为您应用程序中显示的广告活动。大多数高收入广告都可能集中在一种格式中(尤其是在世界某些地区)。这样一来,您就可以在一种类型的一行中看到一百个或更多的广告。这是完全正常的,这只是您所在地区想要购买一种广告的广告商多于另一种广告商的结果。

我没有发现您的 AdLoader 代码有任何问题,并且由于您 在注释掉 forContentAd() 时看到了应用安装广告,所以我 不要相信你做错了什么。只有一堆内容广告等待在您的社区中展示。 :)