John Jared John Jared - 2 months ago 30
Android Question

Upgrading to the new Admob isssues

First, I have put this into my manifest

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

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


Then, inside each layout I want my ads to appear in, I have put this in its
.xml
up

xmlns:ads="http://schemas.android.com/apk/res-auto"


and this down

<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="ca-abb-psb-4557896546544844/5789887777"
ads:adSize="BANNER"
ads:loadAdOnCreate="true"
android:layout_gravity="center"
android:layout_margin="10dp">
</com.google.android.gms.ads.AdView>


and at last, I have imported the library
google-play-services_libs


The problem now that I get
error: No resource identifier found for attribute 'loadAdOnCreate' in package 'aaa.bbb.ccc'
from the
<com.google.android.gms.ads.AdView .... >
in the xml.

And I get
R cannot be resolved to a variable
in all of my app classes.

Answer

Look at https://developers.google.com/android/reference/com/google/android/gms/ads/AdView#xml-attributes

LoadOnCreate cannot be used anymore as XML attribute.

<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adUnitId="MY_AD_UNIT_ID"
ads:adSize="BANNER"/>

// Java code required.
// testDevices and loadAdOnCreate attributes are
// no longer available.
AdView adView = (AdView)this.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("TEST_DEVICE_ID")
.build();
adView.loadAd(adRequest);
Comments