qb02@アプリ屋さんの備忘録

アプリ作成時のメモを記載してます('Θ')

【Android】インタースティシャル広告 実装方法

f:id:qb02:20181020230026p:plain

【Windows10】

【Andoroid studio 3.1.1】

 

インタースティシャル広告の実装方法です。

実際のアプリで確認したい場合は、以下のアプリをダウンロードして、アプリ起動後、画面上にあるクリア→OKを押すとインタースティシャル広告が出てきます。

play.google.com

 

必要な情報は以下です。

なお、★間はバナー広告、インタースティシャル広告、動画リワード広告で共通の処理となります。

パーミッションの追加

AndroidManifest.xml

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

②広告を使用する準備

build.gradle(app配下)

implementation 'com.google.android.gms:play-services-ads:15.0.1'

③インタースティシャル広告の定義

// インタースティシャル広告のID
private InterstitialAd interstitialAd;
AdRequest adRequest_interstitial;
String AdMobID = "ca-app-pub-3940256099942544/1033173712"; // Test ID

インタースティシャル広告の設定

// インタースティシャル広告の設定
interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId(AdMobID);

⑤インタースティシャル広告のリスナーの定義

//広告状態のリスナー
interstitialAd.setAdListener(new AdListener() {

//広告が閉じられた時
@Override
public void onAdClosed() {
super.onAdClosed();
}

//広告がロードできた時
@Override
public void onAdLoaded() {
super.onAdLoaded();
}

//広告がロードできなかった時
@Override
public void onAdFailedToLoad(int i) {
super.onAdFailedToLoad(i);
}
});

インタースティシャル広告の読み込み

adRequest_interstitial = new AdRequest.Builder().build();
interstitialAd.loadAd(adRequest_interstitial);

インタースティシャル広告の表示

if(interstitialAd != null && interstitialAd.isLoaded())
{
interstitialAd.show();
}

■最終的な実装例

アプリ起動直後にインタースティシャル広告が表示される実装です。

画面に一輪車に乗ったムックもどきが表示されれば成功です。

public class MainActivity extends AppCompatActivity {

// インタースティシャル広告のID
private InterstitialAd interstitialAd;
AdRequest adRequest_interstitial;
String AdMobID = "ca-app-pub-3940256099942544/1033173712"; // Test ID

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// インタースティシャル広告の設定
interstitialAd = new InterstitialAd(this); // getBaseContext()
interstitialAd.setAdUnitId(AdMobID);

//広告状態のリスナー
interstitialAd.setAdListener(new AdListener() {

//広告が閉じられた時
@Override
public void onAdClosed() {
super.onAdClosed();
}

//広告がロードできた時
@Override
public void onAdLoaded() {
super.onAdLoaded();
showInterstitial();
}

//広告がロードできなかった時
@Override
public void onAdFailedToLoad(int i) {
super.onAdFailedToLoad(i);
}
});
}

@Override
protected void onResume() {
load_ad();
super.onResume();
}

void load_ad()
{
adRequest_interstitial = new AdRequest.Builder().build();
interstitialAd.loadAd(adRequest_interstitial);
}

public void showInterstitial() {
if(interstitialAd != null && interstitialAd.isLoaded())
{
interstitialAd.show();
}
}
}

あとは、AdMobID = "ca-app-pub-3940256099942544/1033173712"部分を、Admobで取得したIDに変更すれば完了です。

以降は、実装を順に記載しているだけなので、必要のない方はここまででOKです。

 

qb02.hatenablog.com

play.google.com

 

■実装方法

パーミッションの追加

AndroidManifest.xmlに以下を追加。

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

 

広告を使用する準備

build.gradle(app配下)に以下を追加。

implementation 'com.google.android.gms:play-services-ads:15.0.1'

ただし、最新のバージョンを追加する必要があるので注意。

以下方法で設定すればいけるはず。

f:id:qb02:20181020233119p:plain

f:id:qb02:20181020233140p:plain

Library dependencyを押下後、play-services-adsで検索して追加すればOK

③インタースティシャル広告の定義

MainActivity.javaで以下のように定義。

importはAlt+Enterでいける。

public class MainActivity extends AppCompatActivity {

// インタースティシャル広告のID
private InterstitialAd interstitialAd;
AdRequest adRequest_interstitial;
String AdMobID = "ca-app-pub-3940256099942544/1033173712"; // Test ID

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

}
}

インタースティシャル広告の設定

MainActivity.javaで以下のように設定。

importはAlt+Enterでいける。

public class MainActivity extends AppCompatActivity {

// インタースティシャル広告のID
private InterstitialAd interstitialAd;
AdRequest adRequest_interstitial;
String AdMobID = "ca-app-pub-3940256099942544/1033173712"; // Test ID

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// インタースティシャル広告の設定
interstitialAd = new InterstitialAd(this); // getBaseContext()
interstitialAd.setAdUnitId(AdMobID);


}
}

⑤インタースティシャル広告のリスナーの定義

MainActivity.javaで以下のようにリスナーを定義。

public class MainActivity extends AppCompatActivity {

// インタースティシャル広告のID
private InterstitialAd interstitialAd;
AdRequest adRequest_interstitial;
String AdMobID = "ca-app-pub-3940256099942544/1033173712"; // Test ID

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// インタースティシャル広告の設定
interstitialAd = new InterstitialAd(this); // getBaseContext()
interstitialAd.setAdUnitId(AdMobID);

//広告状態のリスナー
interstitialAd.setAdListener(new AdListener() {

//広告が閉じられた時
@Override
public void onAdClosed() {
super.onAdClosed();
}

//広告がロードできた時
@Override
public void onAdLoaded() {
super.onAdLoaded();
}

//広告がロードできなかった時
@Override
public void onAdFailedToLoad(int i) {
super.onAdFailedToLoad(i);
}
});
}
}

インタースティシャル広告の読み込み

MainActivity.javaで以下のようにインタースティシャル広告を読み込む。

public class MainActivity extends AppCompatActivity {

// インタースティシャル広告のID
private InterstitialAd interstitialAd;
AdRequest adRequest_interstitial;
String AdMobID = "ca-app-pub-3940256099942544/1033173712"; // Test ID

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// インタースティシャル広告の設定
interstitialAd = new InterstitialAd(this); // getBaseContext()
interstitialAd.setAdUnitId(AdMobID);

//広告状態のリスナー
interstitialAd.setAdListener(new AdListener() {

//広告が閉じられた時
@Override
public void onAdClosed() {
super.onAdClosed();
}

//広告がロードできた時
@Override
public void onAdLoaded() {
super.onAdLoaded();
}

//広告がロードできなかった時
@Override
public void onAdFailedToLoad(int i) {
super.onAdFailedToLoad(i);
}
});
}

@Override
protected void onResume() {
load_ad();
super.onResume();
}

void load_ad()
{
adRequest_interstitial = new AdRequest.Builder().build();
interstitialAd.loadAd(adRequest_interstitial);
}
}

インタースティシャル広告の表示

MainActivity.javaで以下のようにインタースティシャル広告を表示。

public class MainActivity extends AppCompatActivity {

// インタースティシャル広告のID
private InterstitialAd interstitialAd;
AdRequest adRequest_interstitial;
String AdMobID = "ca-app-pub-3940256099942544/1033173712"; // Test ID

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// インタースティシャル広告の設定
interstitialAd = new InterstitialAd(this); // getBaseContext()
interstitialAd.setAdUnitId(AdMobID);

//広告状態のリスナー
interstitialAd.setAdListener(new AdListener() {

//広告が閉じられた時
@Override
public void onAdClosed() {
super.onAdClosed();
}

//広告がロードできた時
@Override
public void onAdLoaded() {
super.onAdLoaded();
showInterstitial();
}

//広告がロードできなかった時
@Override
public void onAdFailedToLoad(int i) {
super.onAdFailedToLoad(i);
}
});
}


@Override
protected void onResume() {
load_ad();
super.onResume();
}

void load_ad()
{
adRequest_bottom = new AdRequest.Builder().build();
interstitialAd.loadAd(adRequest_interstitial);
}

public void showInterstitial() {
if(interstitialAd != null && interstitialAd.isLoaded())
{
interstitialAd.show();
}
}
}

以上です。

 

qb02.hatenablog.com