アプリ内にAdMob広告を表示する。
※Google Play Servicesを使えるようにしておく
AndroidManifest
1 2 3 4 5 6 7 8 9 |
<uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <application> <meta-data android:value="@integer/google_play_services_version" android:name="com.google.android.gms.version" /> <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" /> </application> |
レイアウト
1 2 |
<linearlayout android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/adView"> </linearlayout> |
ソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
AdView adView; LinearLayout layout_ad; public void onCreate(){ adView = new AdView(this); adView.setAdUnitId("広告ユニットID"); adView.setAdSize(AdSize.BANNER); layout_ad = (LinearLayout)findViewById(R.id.adView); layout_ad.addView(adView); AdRequest adRequest = new AdRequest.Builder() .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) //エミュレータ .addTestDevice("XXXXXXXXXXXXXXXXXXXXXXX") //実機 .build(); adView.loadAd(adRequest); } public void onPause(){ adView.pause(); super.onPause(); } public void onResume(){ super.onResume(); adView.resume(); } public void onDestroy(){ adView.destroy(); super.onDestroy(); } |
インタースティシャル広告の場合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
private InterstitialAd interAd; //インタースティシャル public void onCreate(){ AdRequest adRequest = new AdRequest.Builder() .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) //エミュレータ .addTestDevice("XXXXXXXXXXXXXXXXXXXXXXX") //実機 .build(); //インタースティシャル interAd = new InterstitialAd(this); interAd.setAdUnitId("広告ユニットID"); interAd.setAdListener(new AdListener(){ @Override public void onAdLoaded(){ //広告が読み込まれたときの処理。 } @Override public void onAdClosed(){ //表示された広告を閉じたときの処理。画面遷移等。 } }); interAd.loadAd(adRequest); } //インタースティシャル広告表示 public void displayInterstitial() { if (interAd.isLoaded()) { interAd.show(); } } //任意のタイミングでdisplayInterstitial()を呼び出す。 |