Help us understand the problem. What is going on with this article?

DFPスタンダード導入方法(広告切替) [Android]

More than 5 years have passed since last update.

はじめに

AdMobメディエーションで%での広告の配信比率設定ができなくなって困っている人は多いと思います。
そこで、%での配信比率設定が可能でAdMobよりも高機能なDFPスタンダーの導入方法を説明します。

iPhone版は以下で説明しています。

ここではAndroid版での実装方法のみ解説しますので、DFPスタンダードへの登録、広告枠の作成方法なども
以下を参考にしてください。(iPhone版と特に違いはありません)

AdMobメディエーションからDFPスタンダードへの移行方法[iOS]

前提条件

  • SDK Version4.4 Google Mobile Ads
  • Android Studio 0.5.5を使用
  • Androidのバージョン3.2(13)以上でコンパイル minSdkVersionは1.5(3)以上

SDKをDLする

以下で手順でSDKをDLしてください。

Eclipseの場合は以下の公式ドキュメントを参考にしてください。
https://developer.android.com/google/play-services/setup.html

  1. AndroidStudioを起動
  2. SDK Managerをクリック(以下のアイコンです)

kobito.1400222876.370073.png
3. Extrasまでスクロールし、「Google Play services」「Google Repository」にチェックを入れます。
4. installをクリック。
5. ライセンスに同意できれば「Accept License」にチェックを入れてinstallをクリック。
※ Android 2.3以上が必要です。2.2をサポートする場合は「GooglePlay services for Froyo」をインストールする必要があるそうです。

!! Android Studioが古かったのでアップデートしてくださいと言われました。Android Studio 0.5.8へアップデートしました。

アプリ内にSDKを組み込む

Eclipseの場合は以下の公式ドキュメントを参考にしてください。
https://developer.android.com/google/play-services/setup.html

  1. Android Studioを開きます。
  2. プロジェクトのbuild.gradleファイルを開きます。
  3. dependencies{}に「compile 'com.google.android.gms:play-services:4.3.23'」を追記します。バージョンの部分はインストールしたバージョンに合わせてください。カーソルを合わせるとバージョンが表示されます。

「dependency on play services, but the sdk installation dose not have the "Extras > Google Repository" installes. Open the SDK manager and install it.」と表示される場合は開くbuild.gradleファイルを間違えている可能性が高いです。

build.gradle
dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile 'com.google.android.gms:play-services:4.3.23'
}

'4. 以下の「Sync Project」ボタンを押します。

kobito.1400225161.427027.png
5. AndroidManifest.xmlの< application >エレメント内に追記します。

AndroidManifest.xml
<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"/>

Permissionsを追記

INTERNETとACCESS_NETWORK_STATEが必要

AndroidManifest.xml
  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

実装

AdViewを生成してaddViewする方法です。
レイアウトxmlで定義する方法もあります → (Defining a com.google.ads.AdView参照) https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals#android

MY_AD_UNIT_IDは「DFPスタンダードのサイト > 在庫 > utasuma_320x50(作った広告ユニット) > タグを作成 > タグタイプ:モバイルアプリ 」から確認できます。

HogeActivity.Activity
import com.google.android.gms.ads.*;

public class HogeActivity extends Activity {
  private AdView adView;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // adView を作成する
    adView = new AdView(this);
    adView.setAdUnitId(MY_AD_UNIT_ID);
    adView.setAdSize(AdSize.BANNER);

    // 属性 android:id="@+id/mainLayout" が与えられているものとして
    // LinearLayout をルックアップする
    LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);

    // adView を追加する
    layout.addView(adView);

    // 一般的なリクエストを行う
    AdRequest adRequest = new AdRequest.Builder().build();

    // 広告リクエストを行って adView を読み込む
    adView.loadAd(adRequest);
  }

  @Override
  public void onPause() {
    adView.pause();
    super.onPause();
  }

  @Override
  public void onResume() {
    super.onResume();
    adView.resume();
  }

  @Override
  public void onDestroy() {
    adView.destroy();
    super.onDestroy();
  }
}

まとめ

以上でDFPスタンダードを使って広告が表示できたと思います。
※できない場合はDFPスタンダーのサイトでオーダーの広告申込情報のレートに1を設定してみてください。

DFPスタンダードは高機能が故に設定が複雑ですが便利なツールですので是非使ってみてください。

device-2014-01-21-121922.png

ux_design_tokyo
iPhone, Androidアプリの開発者です。うたスマを作りました。
http://www.uxdesigntokyo.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした