我正在使用API​​级别为24的firebase-ads:9.2.0。

通过在我的build.gradle中添加compile(name:'unity-ads',ext:'aar')来导入unity-ads aar模块。

如果我选择直接使用UnityAds API,一切都会顺利进行。

但是,当我尝试像这样将统一广告与AdMob集成时:

    mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance( this );

    mRewardedVideoAd.setRewardedVideoAdListener(new RewardedVideoAdListener() {
        @Override
        public void onRewardedVideoAdLoaded() {
            logger.debug("onRewardedVideoAdLoaded");
        }

        @Override
        public void onRewardedVideoAdOpened() {
            logger.debug("onRewardedVideoAdOpened");
        }

        @Override
        public void onRewardedVideoStarted() {
            logger.debug("onRewardedVideoStarted");
        }

        @Override
        public void onRewardedVideoAdClosed() {
            logger.debug("onRewardedVideoAdClosed");
        }

        @Override
        public void onRewarded(RewardItem rewardItem) {
            logger.debug("onRewarded");
        }

        @Override
        public void onRewardedVideoAdLeftApplication() {
            logger.debug("onRewardedVideoAdLeftApplication");
        }

        @Override
        public void onRewardedVideoAdFailedToLoad(int i) {
            Toast.makeText(
                getApplicationContext(),
                "onRewardedVideoAdFailedToLoad",
                Toast.LENGTH_SHORT ).show();
        }
    });

    AdRequest adRewardRequest = new AdRequest.Builder()
        .addTestDevice("E921B48960E16DA3ABD13C4AFB7052A4")
        .build();

    mRewardedVideoAd.loadAd(
        getResources().getString(R.string.reward_ad_unit_id),
        adRewardRequest );

它总是返回



我做错了什么吗?

或者我只是错过了一些步骤?

这是我的AdMob页面屏幕截图:

android - AdMob RewardedVideoAd.loadAd始终返回 "failed to load ads, error code: 0"-LMLPHP

最佳答案

好吧,我找到了解决方案。

第一件事是我没有在项目中包含适配器。

我必须在这里下载adpaters:
Third-party network adapters

并将其放入libs文件夹。
这些适配器不包含在SDK中(如果您从github下载)。

其次,我必须从代​​码中删除此行。

.addTestDevice("E921B48960E16DA3ABD13C4AFB7052A4")

如果AdMob将此设备视为测试设备,则似乎没有任何视频广告可以下载(至少在我的情况下)。

如果我选择使用AVD,也会发生相同的情况,它们会强制在这些模拟器上展示测试广告。

因此,我更改为Genymotion,删除addTestDevice(),然后运行。

关于android - AdMob RewardedVideoAd.loadAd始终返回 "failed to load ads, error code: 0",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38181365/

10-13 02:01