android admob真实广告没有加载代码为0的adrequest - ERROR_CODE_INTERNAL_ERROR

时间:2017-10-04 18:42:57

标签: java android admob banner

大约24小时前,我在AdMob控制台中设置了横幅广告。它没有连接到firebase。我确实得到了测试横幅,但还没有现场横幅。

我的请求横幅的活动:

private void showStartFragment(){

    //initialize AdMob
    MobileAds.initialize(this, "ca-app-pub-XXXXXXXXXXXXXXXXX~YYYYYYYYYY");

    //request Banner
    AdView mAdView = (AdView) findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder()
    //.addTestDevice("MY_TEST_DEVICE_ID") //my Lenovo K6
    .build();
    mAdView.loadAd(adRequest);

    //listener for observing
    mAdView.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            // Code to be executed when an ad finishes loading.
            Log.i("admob", "onAdLoaded");
        }

        @Override
        public void onAdFailedToLoad(int errorCode) {
            // Code to be executed when an ad request fails.
            Log.i("admob", "onAdFailedToLoad");
            Log.i("admob", "error code " + Integer.toString(errorCode));
        }

        @Override
        public void onAdOpened() {
            // Code to be executed when an ad opens an overlay that
            // covers the screen.
            Log.i("admob", "onAdOpened");
        }

        @Override
        public void onAdLeftApplication() {
            // Code to be executed when the user has left the app.
            Log.i("admob", "onAdLeftApplication");
        }

        @Override
        public void onAdClosed() {
            // Code to be executed when when the user is about to return
            // to the app after tapping on an ad.
            Log.i("admob", "onAdClosed");
        }
    });

我的布局文件摘录:

<com.google.android.gms.ads.AdView
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_alignParentBottom="true"
    ads:adSize="BANNER"
    ads:adUnitId="ca-app-pub-XXXXXXXXXXXXXXX/YYYYYYYYY"
    android:layout_marginTop="50dp">
</com.google.android.gms.ads.AdView>

我的build.gradle(app):

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

android {
    compileSdkVersion 22
    buildToolsVersion '25.0.0'

    signingConfigs {
        debug {
          ...
        }
    }

    defaultConfig {
        applicationId "mysample.app.de.hooorray"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 4
        versionName "1 Beta"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        externalNativeBuild {
            ndkBuild {
                path 'src/main/jni/Android.mk'
            }
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile 'com.google.android.gms:play-services-ads:10.2.0'
    //compile 'com.google.firebase:firebase-ads:11.4.2'
    compile 'com.facebook.android:facebook-android-sdk:4.8.0'
    compile 'com.twitter.sdk.android:twitter:3.0.0'
    compile project(':BaseGameUtils')
    compile project(':vksdk_library')
}

repositories {
    mavenCentral()
    maven { url 'https://maven.fabric.io/public' }
    jcenter()
}

我已经尝试过了:

  • 通过test-device-id或test-banner-id添加测试用例 - &gt;的务!
  • 编译了不同的库(com.google.android.gms:play-services-ads:10.2.0 / 11.4.2com.google.firebase:firebase-ads:11.4.2) - &gt; 不起作用
  • 将三重检查的ADMOB_APP_ID和ADMOB_AD_UNIT_ID硬编码到类/布局文件中 - &gt; 不起作用
  • 在不同的真实设备上尝试过 - &gt; 不起作用
  • 构建并安装了我的应用的发布版本 - &gt; 不起作用

如果我不使用测试示例,我会在Logat中获得什么:

10-04 20:09:41.228 29844-29935/? W/Ads: The Google Mobile Ads SDK will not integrate with Firebase. Admob/Firbase integration requires the latest Firebase SDK jar, but Firebase SDK is either missing or out of date
10-04 20:09:42.292 29844-29844/? I/admob: onAdFailedToLoad
10-04 20:09:42.292 29844-29844/? I/admob: error code 0

根据Google Docs错误代码&#34; 0&#34;代表 ERROR_CODE_INTERNAL_ERROR - 内部发生的事情;例如,广告服务器收到的回复无效。

我已经阅读了几次,可能需要几个小时,直到新的设置广告上线,但现在已经过了24小时。我也读到,在某些地区可能没有可用的横幅广告,但我无法想象,这应该是德国的一个问题。

我很感激任何暗示! Thx提前!!

2 个答案:

答案 0 :(得分:1)

设置我的AdMob后第三天我终于开始工作了:当我登录我的AdMob-Console时,他们告诉我页面标题中的smth

  

&#34;您的添加将不会显示,因为您没有填写所有帐户   细节&#34;

我按照他们给出的链接,填写了一些额外的东西,突然出现了直播广告。

我现在和现在可以&#34;官方&#34;确认任何其他搜索人员:您不需要在Play商店中构建已签名的apk或发布您的应用以接收生活广告!

实际上不建议这样做(请参阅上面我的回答)并且至少在测试期间您可能不会点击您的实际广告。我再次启用了我的测试设备,现在我确信它可以在发布的生产中正常工作。

答案 1 :(得分:0)

我在AdMob-Banner-Doc s上找到了这个:

  

使用真实广告进行测试(即使您从未点过它们)也是针对AdMob的   政策可能导致您的帐户被暂停。请参阅测试广告   有关如何确保您始终获得测试广告的信息   显影

所以也许它只是以某种方式被阻止或应用程序需要在生产中发布?但是,如果应用程序最终发布,我怎样才能确保100%正确显示横幅广告和插页式广告?