没有在Android中使用谷歌播放服务显示admob横幅广告

时间:2014-04-23 13:06:33

标签: android admob google-play-services

我开发了一个应用程序,它使用新的Google Play服务集成了google ad-mob广告服务,所以当我在我的项目中实现时出现一些不显示横幅广告的问题

我的代码在这里。

布局文件

<?xml version="1.0" encoding="utf-8"?>

<ProgressBar
    android:id="@+id/ProgressBar"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="fill_parent"
    android:layout_height="5dp"
    android:layout_gravity="center" />

<WebView
    android:id="@+id/webview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="4"></WebView>

<com.google.android.gms.ads.AdView
    android:id="@+id/adView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    ads:adSize="BANNER"
    ads:adUnitId="*************" />

清单文件

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

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

3 个答案:

答案 0 :(得分:2)

如果您在父布局中向左或向右填充,请将其删除并重试!我遇到了同样的问题,我只是用这个技巧来解决它......你可以看到下面的代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">


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

答案 1 :(得分:1)

您实际上必须在代码中输入请求,如下所示:

AdView adView = (AdView) findViewById(R.id.adView);
AdRequest request = new AdRequest.Builder().build();
adView.loadAd(request);

否则它只占用布局空间,但不做任何事情。不确定为什么他们强制添加了Admob的Google Play服务版本的代码,但他们确实如此...

请注意,您只需执行此操作一次,在您添加了此功能后,它会根据您的Admob设置自动重新加载它们。

答案 2 :(得分:0)

adview = (AdView) findViewById(R.id.ad);
        adview.loadAd(new AdRequest());

并在Manifest.xml

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