Quick reference guide self-written to convert some app from old SDK to new (not for interstitial ads).
STEP 1, Library:
- Remove admob-sdk-android.jar from build path and delete it from project
- copy GoogleAdMobAdsSdk.jar to libs and add it to build path. (usually the jar library is GoogleAdMobAdsSdk[version].jar, i find useful to rename it without version but you can mantain it if you want.
STEP 2, Manifest:
Manifest activity (save publisher id for layouts) WAS:
<!-- AdMob -->
<!-- The application's publisher ID assigned by AdMob -->
<meta-data android:value="YOUR_PUBLISHER_ID" android:name="ADMOB_PUBLISHER_ID" />
<!-- AdMobActivity definition -->
<activity android:name="com.admob.android.ads.AdMobActivity"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:configChanges="orientation|keyboard|keyboardHidden" />
<!-- Track Market installs -->
<receiver android:name="com.admob.android.ads.analytics.InstallReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<meta-data android:value="true" android:name="ADMOB_ALLOW_LOCATION_FOR_ADS" />
Manifest activity BECOME:
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation"/>
Manifest permissions WAS:
<!-- AdMob SDK requires Internet permission -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Manifest permissions BECOME:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
STEP 3, values/Attrs.xml:
values/Attrs.xml WAS:
<declare-styleable name="com.admob.android.ads.AdView">
<attr name="backgroundColor" format="color" />
<attr name="primaryTextColor" format="color" />
<attr name="secondaryTextColor" format="color" />
<attr name="keywords" format="string" />
<attr name="refreshInterval" format="integer" />
</declare-styleable>
values/Attrs.xml BECOME:
<declare-styleable name="com.google.ads.AdView">
<attr name="adSize">
<enum name="BANNER" value="1"/>
<enum name="IAB_MRECT" value="2"/>
<enum name="IAB_BANNER" value="3"/>
<enum name="IAB_LEADERBOARD" value="4"/>
</attr>
<attr name="adUnitId" format="string" />
</declare-styleable>
STEP 4, Layouts:
Layouts Namespace WAS:
xmlns:YourName="http://schemas.android.com/apk/res/net.your.app.path"
Layouts Namespace BECOME:
xmlns:ads="http://schemas.android.com/apk/res/net.your.app.path"
Layouts ADS WAS:
<com.admob.android.ads.AdView
android:id="@+id/ad1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
YourName:backgroundColor="#000000"
YourName:primaryTextColor="#FFFFFF"
YourName:secondaryTextColor="#CCCCCC"
YourName:keywords="keywords keywords"
YourName:refreshInterval="30"
/>
Layouts ADS (paste here your publisher id saved from old manifest) BECOME:
<com.google.ads.AdView android:id="@+id/ad1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="YOUR_PUBLISHER_ID"
ads:adSize="BANNER"/>
STEP 6, code:
For Test (you can specify test mode in AdRequest) REMOVE:
// ADMOB TEST
if (debug) {
AdManager.setTestDevices( new String[] {
AdManager.TEST_EMULATOR, // Android emulator
"MY_DEVICE_CODE", // Code of my Optimus one
} );
}
// ADMOB TEST
AdView Changes:
Fix imports to correct all imports path.
onResume Changes:
// Where ad is my AdView, initialized in onCreate()
if (ad != null) {
ad.setEnabled(true);
AdRequest req = new AdRequest();
// Place keywords here
ad.loadAd(req);
}
Nessun commento:
Posta un commento