App变现的主要渠道有广告,增值服务,在线交易。最近项目需要接入google的admob广告平台,这里写个总结,方便其他开发者参考。
第一步:通过android sdk manager下载google play services lib,如何下载不了,baidu一下,去下载其他人提供的
下载好了之后,将该lib项目引用到测试项目study,即可调用google play services相关广告的api了
第二步、https://www.google.com/admob/ 注册账号,注册完成之后,就可以创建新应用获利了,我这里测试已经有$0.13了
注意创建的广告单元id,接下来我们要用到
第三步:AndroidManifest.xml添加权限、meta-data、Adactivity
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.android.gms.example.bannerexample" > <!-- Include required permissions for Google Mobile Ads to run--> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <!--This meta-data tag is required to use Google Play Services.--> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <activity android:name="com.figo.study.AdmobActivity" android:theme="@android:style/Theme.NoTitleBar" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!--Include the AdActivity configChanges and theme. --> <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:theme="@android:style/Theme.Translucent" /> </application> </manifest>
第四步:设计测试页面
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <com.google.android.gms.ads.AdView android:id="@+id/adView" android:layout_width="match_parent" android:layout_height="wrap_content" ads:adSize="SMART_BANNER" ads:adUnitId="@string/banner_ad_unit_id" > </com.google.android.gms.ads.AdView> </LinearLayout>
这里的banner_ad_unit_id即为admob中创建应用的广告单元id,配置在了res/values/strings.xml文件中
<string name="banner_ad_unit_id">ca-app-pub-2128163432248238/6211350109</string>
第五步:Activity中调用
* */ package com.figo.study; import android.app.Activity; import android.os.Bundle; import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdView; /** * @author figo * */ public class AdmobActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_admob); try { // 横幅广告 AdView mAdView = (AdView) findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); // mAdView.setAdSize(AdSize.FULL_BANNER); mAdView.loadAd(adRequest); // 插页式广告 // final InterstitialAd interstitial = new InterstitialAd( // AdmobActivity.this); // interstitial.setAdUnitId(getString(R.string.banner_ad_unit_id)); // if (interstitial.isLoaded()) { // interstitial.show(); // // } else { // AdRequest adRequest = new AdRequest.Builder().build(); // interstitial.loadAd(adRequest); // AdListener adListener = new AdListener() { // // @Override // public void onAdLoaded() { // // TODO Auto-generated method stub // super.onAdLoaded(); // interstitial.show(); // } // }; // interstitial.setAdListener(adListener); // } } catch (Exception e) { System.out.print(e.getStackTrace()); } } }
OK,大功告成,运行效果:
顺便提供一下google admob官方接入文档
AdMob网址:https://apps.admob.com
Admob开参考文档:https://developers.google.com/mobile-ads-sdk/
快速入门:https://developers.google.com/mobile-ads-sdk/docs/admob/android/quick-start
SDK下载: https://developers.google.com/mobile-ads-sdk/download
Admob参考demo下载:https://github.com/googleads/googleads-mobile-android-examples