Admob横幅广告不显示

时间:2018-11-24 11:27:08

标签: java android admob ads banner-ads

我没有收到错误,只是没有显示。

清单中有:

<uses-permission android:name="android.permission.INTERNET" android:maxSdkVersion="28"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission-sdk-23 android:name="android.permission.INTERNET"
    android:maxSdkVersion="28" />
<uses-permission-sdk-23 android:name="android.permission.ACCESS_NETWORK_STATE"
    android:maxSdkVersion="28"/>

在布局中,我有:

<com.google.android.gms.ads.AdView
    android:id="@+id/publisherAdView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="20dp"
    app:adSize="BANNER"
    app:adUnitId="ca-app-pub-??????????????/????????"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

(我曾经使用?隐藏我的广告号码)

在活动中,我有:

private AdView mPublisherAdView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_play_normal);
    MobileAds.initialize(this, "ca-app-pub-?????????????~???????");

    mPublisherAdView = findViewById(R.id.publisherAdView);
    AdRequest adRequest = new AdRequest.Builder().build();
    mPublisherAdView.loadAd(adRequest);

这是我的毕业文件:

buildscript {

repositories {
    google()
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.2.1'


    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

allprojects {
repositories {
    google()
    jcenter()
    maven {
        url "https://maven.google.com"
    }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}

并且:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "???????.?????"
        minSdkVersion 17
        targetSdkVersion 26
        versionCode 1203
        versionName "1.2.03"
        testInstrumentationRunner 
"android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.android.support:recyclerview-v7:26.1.0'
//GSON
implementation 'com.google.code.gson:gson:2.8.2'
//RecycleView
implementation 'com.android.support:recyclerview-v7:26.1.0'
//ADS
implementation 'com.google.android.gms:play-services-ads:17.1.1'
}

问题在于该应用程序使用互联网,因为我可以看到我消费了X互联网数据,但广告没有展示。我尝试了所有内容,按照Google教程进行操作,并复制了他们的网络所说的内容,但无法修复。我看起来有点像增加加载,因为它需要花一点时间来加载活动,并且以前没有加载,但是广告是不可见的。我正在使用具有API 26的智能手机,所以它不是API级别。

2 个答案:

答案 0 :(得分:0)

您必须使用1 true 2 false 3 true 4 false 5 false 正确构建addRequest

AdListener

Adview的XML是

mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder()
            .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
            .build();
mAdView.setAdListener(new AdListener() {
    @Override
    public void onAdLoaded() {
      if (mAdView.getVisibility() == View.GONE) {
            mAdView.setVisibility(View.VISIBLE);
       }
     }
  });
mAdView.loadAd(adRequest);

最好将<LinearLayout android:id="@+id/ad_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerInParent="true" > <com.google.android.gms.ads.AdView android:id="@+id/adView" android:layout_width="match_parent" android:layout_height="wrap_content" ads:adSize="SMART_BANNER" android:visibility="gone" ads:adUnitId="@string/banner_ad_id"> </com.google.android.gms.ads.AdView> </LinearLayout> 放在字符串文件中。

答案 1 :(得分:0)

问题出在Admob上,由于某种原因我的帐户未通过验证,这就是为什么我虽然在代码中而不是在Admob中出问题了。