Admob をアプリに実装しよう 1. Gradle を設定する Gradle は、フリーのオープンソース ビルドシステムで、Android 開発者にとって便 利な機能(以下で説明する依存関係の管理機能など)が多数統合されています。 このステップでは、build.gradle ファイルを変更します。 作成したプロジェクトには、build.gradle ファイルが 2 つあります。1 つは、ルート の BannerExample フォルダ内にあるプロジェクト レベルのファイルで、プロジェク ト全体に影響する設定が含まれています。もう 1 つは、アプリレベルのファイルで、 プロジェクトの 1 つのアプリに対する設定が含まれています。複数のアプリを含むプ ロジェクトの場合は、各アプリに対してアプリレベルの build.gradle ファイルが 1 つ ずつある。 アプリ内で Google Play 開発者サービス SDK を参照できるよう、アプリを更新する 必要があります。アプリを更新するには、アプリレベルの build.gradle ファイルに含 まれる dependencies セクションに太字の行を追加する。 build.gradle dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.0' // Google Play 管理者サービス SDK を含めるには、下記のように新しいステー //トメントを 1 行追加します。こうすることで、バージョン番号が「7.×.×」で始 //まる、play-services アーティファクトの最新バージョンが、Gradle によって読 //み込まれる。 compile 'com.google.android.gms:play-services:7.+' } 2. マニフェスト ファイルを変更 すべての Android アプリは、マニフェストと呼ばれるファイルを使用して、Android システムにアプリ自体の情報を提供している。 全ての android アプリは、そのルートディレクトリに(正確にはその名前を持つ)の AndroidManifest.xml ファイルを持っている必要がある。 マニフェストファイルは、 Android システムにアプリに関する重要な情報を提供し、情報には、アプリのコードの いずれかを実行する前に、システムが持っている必要がある。 Android Manifest ファイルを変更して、Mobile Ads SDK に必要な権限、バージョン 番号、アクティビティの定義を含める。AndroidManifest.xml を開いて編集する。 そして、太字の行を追加する。 AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.owner.myapplication" > //Google モバイルが広告を実行するために必要な権限が含まれている。 //2 つの<uses-permission> タグで、INTERNET および //ACCESS_NETWORK_STATE を追加する。INTERNET のタグは必須であり //インターネットにアクセスして広告リクエストを行うために使用する。 //ACCESS_NETWORK_STATE のタグはオプションで、広告リクエストを実行す //る前にインターネット接続が利用可能かどうか確認するために使用する。 <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > //この meta-data タグは Google Play サービスを使用する必要がある。 //Google Play 開発者サービスのバージョンを参照する <meta-data> タグを追加 //します。これにより、アプリでの使用を意図しているサービスのバージョンを指 //定する。 <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> //ここは AdActivity.の設定変更が含まれている。 //configChanges および theme 属性を持つ <activity> 要素を追加します。この //アクティビティは、バナーがクリックされたり、インタースティシャルが表示さ //れたりした場合に使用される。また、他のアクティビティと同様に、表示され //る前にマニフェストで宣言する必要がある。 <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> 3. アプリに広告ユニット ID を設定する 広告ユニット ID は、アプリ内で広告を表示する場所に対して指定する一意の ID です。たとえば、アプリに 2 つのアクティビティがあり、それぞれにバナーを表 示する場合、独自の ID を持つ 2 つの広告ユニットを用意することになる。 新しいアプリで広告を表示するには、広告ユニット ID を含める必要があります。 strings.xml ファイルを開きます。 <string name="banner_ad_unit_id">ca-app-pub-3940256099942544/6300978111</string> 新しい <string> タグを追加する。上記の広告ユニット ID はテスト用。この ID を 使用すると、サンプルバナー広告が取得され、正しく実装されていることを確認できる。 アプリの開発時およびテスト時には、必ずテスト広告を使用しよう。もし 実際の広告でテストすると、AdMob ポリシー違反になり、アカウント停止の原因とな る場合がある。 4. activity_main に AdView を配置する レイアウト ファイルには、アクティビティ、フラグメント、リスト項目などのビジュ アル デザインに関する XML 定義が含まれる。このステップでは、メイン アクティ ビティのレイアウト ファイルを変更して、下部に AdView が含まれるようにする。 まずは、メイン アクティビティのレイアウトを変更して AdView を含める必要がある。 エディタで activity_main.xml を開く。そして、太字の行を追加する。 activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" //広告に使用する追加の名前空間(http://schemas.android.com/apk/res-auto) 。 xmlns:ads=http://schemas.android.com/apk/res-auto android:layout_height="match_parent" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> //AdView 用の新しい要素。layout_width と layout_height の指定が必要になる。 両 方 と も wrap_content に 設 定 で き ま す 。 AdView タ グ で は 、 adSize を BANNER に設定し、adUnitId を @string/banner_ad_unit_id に設定する。 <com.google.android.gms.ads.AdView android:id="@+id/adView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" ads:adSize="BANNER" ads:adUnitId="@string/banner_ad_unit_id"> </com.google.android.gms.ads.AdView> </RelativeLayout> 5. MainActivity.java に広告を読み込む 最後に必要となる手順は、アプリの MainActivity.java に、広告を AdView に読み込む Java コードを追加することである。 まずは MainActivity.java ファイルを開きます。ファイルを開いたら、MainActivity ク ラス内の onCreate メソッドを探す。そして、太字の行を追加する。 MainActivity.java package com.example.owner.myapplication; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; // AdRequest クラスと AdView クラスをインポート import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdView; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //レイアウト内から AdView を検索するコードを追加し、AdRequest を作成して から、これを使用して AdView に広告を読み込む。 AdView mAdView = (AdView) findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } } 実行結果
© Copyright 2024 ExpyDoc