插页式广告未展示

时间:2015-08-18 14:47:10

标签: java android admob

我试图在我的APP上添加广告,问题是我已经关注了Getting Started in AdMob for Android,并且广告没有显示出来。

我在manifest.xml添加了以下内容:

<meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

我已添加 两个权限 ,如下所示:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

然后,我还添加了Activity

<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="@android:style/Theme.Translucent" />

我想要INTERSTITIAL AD;据我所知,屏幕上有广告......所以,我试过这个:

在我的MainActivity.java我添加了以下内容:

mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId(getString(R.string.banner_ad_unit_id));
mInterstitialAd.setAdListener(new AdListener() {
        @Override
        public void onAdClosed() {
            requestNewInterstitial();

        }
});

在我的activity_main.xml我添加了以下内容:

<com.google.android.gms.ads.AdView
    android:id="@+id/Home"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_alignParentBottom="true"
    ads:adSize="BANNER"
    ads:adUnitId="@string/banner_ad_unit_id">
</com.google.android.gms.ads.AdView>

然而,广告从未显示过...当我看到LogCat时,我看不到任何错误......那么,我错过了什么?

我不想要横幅;我想要全屏广告。沉我创建了AD-Mob发行商ID,我放了7秒;然而,它并没有出现......

修改

我已经得到了一些东西......我已经阅读了一些教程,我想我已经找到了做到这一点的方法......现在我的代码就在这里:

MainActivity.java

end_ad=new InterstitialAd(this);
end_ad.setAdUnitId(getResources().getString(R.string.banner_ad_unit_id));
end_ad.loadAd(new AdRequest.Builder().build());

在我onClickListener()的活动中,我添加了以下代码:

if(end_ad.isLoaded()){
    end_ad.show();
    Log.d(TAG,"SHOWING");
}
else{
    Log.d(TAG, "NOT SHOWING");
}

但只有它一次出现......知道为什么吗?

2 个答案:

答案 0 :(得分:0)

我已经解决了......

创建InterstitialAd

private InterstitialAd end_ad;

onCreate()内部对其进行初始化,如下所示:

//ADS
    end_ad=new InterstitialAd(this);
    end_ad.setAdUnitId(getString(R.string.banner_ad_unit_id);
    end_ad.loadAd(new AdRequest.Builder().build());

然后我创建了一个名为displayInterstitial的方法,如下所示:

 public void displayInterstitial() {
    // If Ads are loaded, show Interstitial(end_ad) else show nothing.
    if (end_ad.isLoaded()) {
        end_ad.show();
    }
}

然后在每个onClickListener()我都会调用此方法来展示广告,除非您在当前finish()上制作Activity或从最近时删除,否则它只展示一次。

答案 1 :(得分:0)

在我的情况下,这是因为我尚未完成付款信息。