[Android][Android Studio]admobを導入する
Android Studio上で開発したAndroidアプリにadmobを導入する手順のメモをまとめておきます。
基本的には 公式ドキュメント に沿って進めていけばできますが、gradleの設定周りで躓いたりしました。
admobはGoogle Play serviceに統合されたそうなので、まずはSDKをインストールします。
「Tools」→「Android」→「SDK Manager」→「Google Play services」にチェックを入れてインストール
build.gradle にgoogle play serviceを読み込むように記述
# build.gradle
dependencies {
compile 'com.google.android.gms:play-services:4.1.32'
}
google play serviceのバージョンが見つからなくてはまっていたのですが、ターミナルでAndroid Studioのパッケージ内にあるSDKのバージョンを直接探したところ見つかりました。
ll /Applications/Android\ Studio.app/sdk/extras/google/m2repository/com/google/android/gms/play-services/4.1.32
- AndroidManifest.xml にadmob設定を追加
<manifest>
<application>
# 追加(nameはcom.google.android.ads.AdActivityではなく、com.google.android.gms.ads.AdActivity)
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
# 追加
<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
</application>
# 追加
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
</manifest>
- admob用のviewを追加
# MainActivity
import com.google.android.gms.ads.*;
public class MainActivity extends Activity {
private AdView adView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
# adView設定
setContentView(layout.activity_main);
adView = new AdView(this);
adView.setAdUnitId(AD_UNIT_ID);
adView.setAdSize(AdSize.SMART_BANNER);
LinearLayout layout = (LinearLayout)findViewById(id.container);
layout.addView(adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
}
@Override
public void onDestroy() {
adView.destroy();
super.onDestroy();
}
}
これでアプリを起動すれば、admobが表示されます。