我正在尝试使用新的Google Play服务sdk将admob集成到我的Android应用中。但广告不可见。它在log cat中显示警告> 没有足够的空间来展示广告。需要480X75像素,但只有540X0 。我使用了android开发者页面上给出的相同代码。
code added in manifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" />
<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" />
main.xml中的代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:id="@+id/adViewl"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="match_parent"
ads:adSize="BANNER"
ads:adUnitId="AD_UNIT_ID" />
</LinearLayout>
和java代码
LinearLayout layout = (LinearLayout) findViewById(R.id.adViewl);
AdView adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId("AD_UNIT_ID");
layout.addView(adView);
//AdRequest adRequest = new AdRequest.Builder().build(); // Start
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
请告诉我上面的代码我错了。
答案 0 :(得分:0)
错误是&#34;只有540X0&#34;这意味着AdView没有可用的高度。
如果上面给出的布局是main.xml的唯一内容,那么您必须使用以某种方式将AdView或LinearLayout的大小减小为零的主题。
答案 1 :(得分:0)
最后,我通过更改java代码解决了我的问题。我从java代码中删除了线性布局代码。仅使用Adview,如下所示,
AdView adView = (AdView) findIdByValue(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);