AdMob広告表示
2015/11/10 17:32:29
ムズすぎない? よっぽど狭き門にしたいのかな。
ともあれついさっきテスト広告・実際の広告ともに表示できた手順を書いておく。動作環境はlinux上のAndroid-Studio、Google RepositoryやSDKもろもろインストール済み前提で進行しますのでそのつもりでどうぞ。
基本は毎度おなじみこの㌻を見ながらの作業でOK。
○プロジェクト作成
なーんもファイル追加しない(ゆうてもマニフェスト等は勝手に作ってくれる)、Empty Activity以上にからっぽのAdd No Activityでプロジェクトを立ち上げる。
○build.gradle(Module: app)設定
プロジェクト構成のツリー表示から、いつも使うappの下(appツリー外)のGradle Scriptsツリーを展開、
build.gradleのふたつめ、Module: appと書かれたほうを開く。
Google Developersさんがご教授いただいてる通りに
追加した一行へマウスカーソルを合わせると、『もっと新しいバージョンのがありまっせ!』とpopupで教えてくれる。そこにはご丁寧に最新バージョンが書いてあるはずなので、7.5.0の部分を書き換える。今は8.3.0である。
Googleさん。
今は8.3.0である。
なんでしょうか7.5.0って。たのんます!
まあ散々表示できなかったのがソコに起因するのか確かでないゆえそれはいい。
変更するとなんやらpopupが出るのでSync Nowで同期すればgradleまわりはこれでヨシ。
○AndroidManifest.xml編集
例のページからまるっとコピペ、アイコン指定で@drawableになってるのを@mipmapに訂正してやる。
MainActivityの宣言部分があるので、まるっとコピペ前にMainActivity.javaを作成しておいたほうがいいかも。
○レイアウト側の広告実装
activity_mainレイアウトを新規に追加、ついでにstrings.xmlへテスト広告のユニットIDを追加する。
同レイアウトに広告と、
コレを追加する。
あとでソース全部バーン貼るから心配しなさんな。
○アクティビティ側の広告実装
――この3行で足りる。
Add No Activity以外でプロジェクトを作成すると、どーゆーわけか問題が発生してユニットIDやらなんやら指定せいよーと怒られる。
AndroidManifest.xml
</manifest>
Activity_main.xml xmlns:ads="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<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">
banner_ad_unit_idはstrings.xmlで定義して中身はテスト広告のIDにしときましょう。
MainActivity.java
package xx.xx.xxx;// マニフェストファイルと同じパッケージ名
import android.app.Activity;
import android.os.Bundle;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
AdView mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
}
}
以上である。
マニフェストの編集でいっぺんミスるとMainActivityで使ってるRが参照できなくなるので、エラーをすべて修復してからプロジェクトをクリーンするとRが再構築される。
ともあれついさっきテスト広告・実際の広告ともに表示できた手順を書いておく。動作環境はlinux上のAndroid-Studio、Google RepositoryやSDKもろもろインストール済み前提で進行しますのでそのつもりでどうぞ。
基本は毎度おなじみこの㌻を見ながらの作業でOK。
○プロジェクト作成
なーんもファイル追加しない(ゆうてもマニフェスト等は勝手に作ってくれる)、Empty Activity以上にからっぽのAdd No Activityでプロジェクトを立ち上げる。
○build.gradle(Module: app)設定
プロジェクト構成のツリー表示から、いつも使うappの下(appツリー外)のGradle Scriptsツリーを展開、
build.gradleのふたつめ、Module: appと書かれたほうを開く。
Google Developersさんがご教授いただいてる通りに
compile 'com.google.android.gms:play-services-ads:7.5.0'この一行をdependenciesブロックへ追加する。
追加した一行へマウスカーソルを合わせると、『もっと新しいバージョンのがありまっせ!』とpopupで教えてくれる。そこにはご丁寧に最新バージョンが書いてあるはずなので、7.5.0の部分を書き換える。今は8.3.0である。
Googleさん。
今は8.3.0である。
なんでしょうか7.5.0って。たのんます!
まあ散々表示できなかったのがソコに起因するのか確かでないゆえそれはいい。
変更するとなんやらpopupが出るのでSync Nowで同期すればgradleまわりはこれでヨシ。
○AndroidManifest.xml編集
例のページからまるっとコピペ、アイコン指定で@drawableになってるのを@mipmapに訂正してやる。
コレも一緒にくっつけとくとベターであろう。<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
MainActivityの宣言部分があるので、まるっとコピペ前にMainActivity.javaを作成しておいたほうがいいかも。
○レイアウト側の広告実装
activity_mainレイアウトを新規に追加、ついでにstrings.xmlへテスト広告のユニットIDを追加する。
同レイアウトに広告と、
xmlns:ads="http://schemas.android.com/apk/res-auto"
コレを追加する。
あとでソース全部バーン貼るから心配しなさんな。
○アクティビティ側の広告実装
AdView mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest); }
――この3行で足りる。
Add No Activity以外でプロジェクトを作成すると、どーゆーわけか問題が発生してユニットIDやらなんやら指定せいよーと怒られる。
以上を踏まえたうえでサンプルソースを貼っておこう。
AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="jp.tt.onbt">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<application android:allowBackup="true"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<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>
<!--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>
Activity_main.xml
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<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">
banner_ad_unit_idはstrings.xmlで定義して中身はテスト広告のIDにしときましょう。
MainActivity.java
package xx.xx.xxx;// マニフェストファイルと同じパッケージ名
import android.app.Activity;
import android.os.Bundle;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
AdView mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
}
}
以上である。
マニフェストの編集でいっぺんミスるとMainActivityで使ってるRが参照できなくなるので、エラーをすべて修復してからプロジェクトをクリーンするとRが再構築される。
なんか編集がクソだけどほぼ自分用だからこれでいいやもう。
PR
この記事へのトラックバック
この記事のトラックバックURL