-
Notifications
You must be signed in to change notification settings - Fork 7
インタースティシャル広告実装手順
まだ広告枠作成、SDKダウンロードを行っていない場合、下記リンク先を参照してください。
プロジェクトにSDKを追加していない場合、以下の方法でSDKを追加してください。
※事前準備でGooglePlayService、AndroidManifest.xml の設定を行ってください
apiKey、spotID を指定して NendAdInterstitial の loadAd メソッドを実行します。
広告のロードは、Activity の onCreate 直後に実行してください。
Kotlin
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
NendAdInterstitial.loadAd(applicationContext, "[発行された apiKey]", [発行された spotID])
}
Java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
NendAdInterstitial.loadAd(getApplicationContext(), "[発行された apiKey]", [発行された spotID]);
}
広告を表示したい場面で NendAdInterstitial の showAd メソッドを実行します。
なお、広告の読み込みが完了していない場合、インタースティシャル広告は表示されません。
Kotlin
// 広告枠指定なしの場合
// この場合は最後に読み込みに成功した広告枠を表示します
// アプリ内で使用するインタースティシャル広告の枠が一つの場合はこちらをお使いください
NendAdInterstitial.showAd(this)
// 広告枠指定ありの場合
NendAdInterstitial.showAd(this, [表示する spotID])
Java
// 広告枠指定なしの場合
NendAdInterstitial.showAd(this);
// 広告枠指定ありの場合
NendAdInterstitial.showAd(this, [表示する spotID]);
右上×ボタンまたはインタースティシャル広告の 範囲外をタップすると、広告が非表示になります。
(広告を×ボタンタップのみで非表示にするか、範囲外もしくは×ボタンタップで非表示にするかは管理画面上で選択できます)
下部のインストールボタン(またはバナー広告)を タップすると、GooglePlay へ遷移します。
NendAdInterstitial の dismissAd メソッドを実行することで、広告を閉じることが出来ます。
Kotlin
NendAdInterstitial.dismissAd()
Java
NendAdInterstitial.dismissAd();
画面の向きに応じて自動的にレイアウトを変更します。
ただし、インタースティシャル広告を表示した状態で画面回転が行われる可能性がある場合、
必ず AndroidManifest.xml で Activity に以下の設定を行ってください。
android:configChanges="orientation|screenSize"
下記のように、必要に応じて NendAdInterstitial にリスナを登録することで、 広告のロードに関する通知を受けることが出来ます。
アプリ内で使用するインタースティシャル広告の枠が一つの場合はこちらをお使いください。
Kotlin
NendAdInterstitial.setListener { status ->
when (status) {
NendAdInterstitial.NendAdInterstitialStatusCode.SUCCESS -> {
// 成功
}
NendAdInterstitial.NendAdInterstitialStatusCode.FAILED_AD_DOWNLOAD -> {
// 広告画像取得失敗
}
NendAdInterstitial.NendAdInterstitialStatusCode.INVALID_RESPONSE_TYPE -> {
// 不明な広告タイプ
}
NendAdInterstitial.NendAdInterstitialStatusCode.FAILED_AD_REQUEST -> {
// 広告取得失敗
}
else -> {
}
}
}
Java
NendAdInterstitial.setListener(new OnCompletionListener() {
@Override
public void onCompletion(NendAdInterstitialStatusCode status) {
switch (status) {
case SUCCESS:
// 成功
break;
case FAILED_AD_DOWNLOAD:
// 広告画像取得失敗
break;
case INVALID_RESPONSE_TYPE:
// 不明な広告タイプ
break;
case FAILED_AD_REQUEST:
// 広告取得失敗
break;
default:
break;
}
}
});
広告枠ごとのロード結果を受け取る場合は、下記のように OnCompletionListenerSpot をリスナに登録してください。
Kotlin
NendAdInterstitial.setListener(object : NendAdInterstitial.OnCompletionListenerSpot {
override fun onCompletion(status: NendAdInterstitial.NendAdInterstitialStatusCode?) {
// こちらの通知は呼び出されません
}
override fun onCompletion(status: NendAdInterstitial.NendAdInterstitialStatusCode?, spotId: Int) {
// 引数に対象の広告枠 ID を付与してロード結果を通知します
when (status) {
NendAdInterstitial.NendAdInterstitialStatusCode.SUCCESS -> {
// 成功
}
NendAdInterstitial.NendAdInterstitialStatusCode.FAILED_AD_DOWNLOAD -> {
// 広告画像取得失敗
}
NendAdInterstitial.NendAdInterstitialStatusCode.INVALID_RESPONSE_TYPE -> {
// 不明な広告タイプ
}
NendAdInterstitial.NendAdInterstitialStatusCode.FAILED_AD_REQUEST -> {
// 広告取得失敗
}
else -> {
}
}
}
})
Java
NendAdInterstitial.setListener(new NendAdInterstitial.OnCompletionListenerSpot() {
@Override
public void onCompletion(NendAdInterstitialStatusCode status) {
// こちらの通知は呼び出されません
}
@Override
public void onCompletion(NendAdInterstitialStatusCode status, int spotId) {
// 引数に対象の広告枠 ID を付与してロード結果を通知します
switch (status) {
case SUCCESS:
// 成功
break;
case INVALID_RESPONSE_TYPE:
// 不明な広告タイプ
break;
case FAILED_AD_REQUEST:
// 広告取得失敗
break;
case FAILED_AD_DOWNLOAD:
// 広告画像取得失敗
break;
default:
break;
}
}
});
下記のように、必要に応じて showAd にリスナを登録することで、 広告のクリック通知を受けることが出来ます。
アプリ内で使用するインタースティシャル広告の枠が一つの場合はこちらをお使いください。
Kotlin
NendAdInterstitial.showAd(this, {
when (it) {
NendAdInterstitial.NendAdInterstitialClickType.CLOSE -> {
// ×ボタンまたは範囲外タップ
}
NendAdInterstitial.NendAdInterstitialClickType.DOWNLOAD -> {
// ダウンロードボタン
}
NendAdInterstitial.NendAdInterstitialClickType.INFORMATION -> {
// インフォメーションボタン
}
else -> {
}
}
})
Java
NendAdInterstitial.showAd(this, new NendAdInterstitial.OnClickListener() {
@Override
public void onClick(NendAdInterstitialClickType clickType) {
switch (clickType) {
case CLOSE:
// ×ボタンまたは範囲外タップ
break;
case DOWNLOAD:
// ダウンロードボタン
break;
case INFORMATION:
// インフォメーションボタン
break;
default:
break;
}
}
});
広告枠ごとのクリック通知を受け取る場合は、下記のように OnClickListenerSpot をリスナに登録してください。
Kotlin
NendAdInterstitial.showAd(this, [表示する spotID], object: NendAdInterstitial.OnClickListenerSpot {
override fun onClick(clickType: NendAdInterstitial.NendAdInterstitialClickType?) {
// こちらの通知は呼び出されません
}
override fun onClick(clickType: NendAdInterstitial.NendAdInterstitialClickType?, spotId: Int) {
when (clickType) {
NendAdInterstitial.NendAdInterstitialClickType.CLOSE -> {
// ×ボタンまたは範囲外タップ
}
NendAdInterstitial.NendAdInterstitialClickType.DOWNLOAD -> {
// ダウンロードボタン
}
NendAdInterstitial.NendAdInterstitialClickType.INFORMATION -> {
// インフォメーションボタン
}
else -> {
}
}
}
})
Java
NendAdInterstitial.showAd(this, [表示する spotID], new NendAdInterstitial.OnClickListenerSpot() {
@Override
public void onClick(NendAdInterstitialClickType clickType) {
// こちらの通知は呼び出されません
}
@Override
public void onClick(NendAdInterstitialClickType clickType, int spotId) {
// 引数に対象の広告枠 ID を付与してクリックイベントを通知します
switch (clickType) {
case CLOSE:
// ×ボタンまたは範囲外タップ
break;
case DOWNLOAD:
// ダウンロードボタン
break;
case INFORMATION:
// インフォメーションボタン
break;
default:
break;
}
}
});
下記のように、showAd メソッドの戻り値を取得することで、 必要に応じて表示結果を判定することが出来ます。
Kotlin
val result = NendAdInterstitial.showAd(this)
when (result) {
NendAdInterstitial.NendAdInterstitialShowResult.AD_SHOW_SUCCESS -> {
// 表示成功
}
NendAdInterstitial.NendAdInterstitialShowResult.AD_SHOW_ALREADY -> {
// 既に表示されている
}
NendAdInterstitial.NendAdInterstitialShowResult.AD_FREQUENCY_NOT_REACHABLE -> {
// フリークエンシーカウントに到達していない
}
NendAdInterstitial.NendAdInterstitialShowResult.AD_REQUEST_INCOMPLETE -> {
// 広告のリクエストが正常完了していない
}
NendAdInterstitial.NendAdInterstitialShowResult.AD_LOAD_INCOMPLETE -> {
// 広告のロードが完了していない
}
NendAdInterstitial.NendAdInterstitialShowResult.AD_DOWNLOAD_INCOMPLETE -> {
// 広告のダウンロードが完了していない
}
else -> {
}
}
Java
NendAdInterstitialShowResult result = NendAdInterstitial.showAd(this);
switch (result) {
case AD_SHOW_SUCCESS:
// 表示成功
break;
case AD_SHOW_ALREADY:
// 既に表示されている
break;
case AD_FREQUENCY_NOT_REACHABLE:
// フリークエンシーカウントに到達していない
break;
case AD_REQUEST_INCOMPLETE:
// 広告のリクエストが正常完了していない
break;
case AD_LOAD_INCOMPLETE:
// 広告のロードが完了していない
break;
case AD_DOWNLOAD_INCOMPLETE:
// 広告のダウンロードが完了していない
break;
default:
break;
}
インタースティシャル広告は、広告が閉じられると自動的に新しい広告をロードします。
自動リロードを無効にするには下記のように isAutoReloadEnabled
に false
を設定します。
自動リロードを再び有効にするには true
を設定してください。
isAutoReloadEnabled
はデフォルトで true
になっています。
Kotlin
NendAdInterstitial.isAutoReloadEnabled = false
Java
NendAdInterstitial.isAutoReloadEnabled = false;
-
2023年9月1日より、SDK v6.0.0未満では動画広告の配信を停止いたします。新しいバージョンのご利用をご検討ください。
-
Google Play Consoleのデータセーフティに関して、nendSDKのデータ収集項目のページを追加しました。詳しくはこちらをご覧ください。
-
Android 13より、Google Advertising IDのアクセスのために権限の追加を強く推奨しています。詳しくはSDKの組み込み方法をご覧ください。
-
v9.0.0よりSDK内部の依存性及び位置情報機能の完全な削除を行いました。詳しくは更新履歴を御覧ください。
-
らくらくスマートフォンの
F-01L
にて、特定のOSバージョンでバナー広告利用時にアプリがクラッシュするという報告を一部のメディア様から頂いております。詳細はこちらをご確認ください。 -
Google Play Services r30 よりライブラリプロジェクトの提供がなくなり、今後はEclipseプロジェクトへのGoogle Play Servicesの導入が不可能となったため、nendSDKにおいてもEclispeでの導入・開発のサポートを終了させていただきました。
EclipseからAndroidStudioへの移行はこちらをご参照ください。 -
Googleのデベロッパーポリシーの更新に伴い、v3.1.0のSDKよりインタースティシャル広告のアプリ終了時表示機能を廃止させていただきました。
-
Effective September 1, 2023, we will stop serving video ads with SDK under v6.0.0. Please consider using a newer version.
-
For data safety section in Google Play Console, We added a page about data collection used on nendSDK. For details, please see here.
-
Since Android 13, we highly recommend add the permision to access Google Advertising ID. For details, please see About integrate the SDK.
-
In v9.0.0, a new dependency had been added to the sdk and all functions of collecting location data are completely deleted.
-
We have received reports from some media that a model of smartphone,
F-01L
crashes when using banner ads on a specific OS version. For details, please check here. -
nendSDK terminated the introduction and development support of Eclispe as Google Play Services (r30) no longer provides library project and impossible to install Google Play Services to the Eclispe project.
Please check the link below for how to transfer from Eclipse to AndroidStudio. -
With the update of Google Developer Policy, we terminated the function to show interstitial ads before the user closes the app from v3.1.0 SDK.
- バナー型広告
- アイコン型広告
- インタースティシャル広告
- ネイティブ広告
- フルボード広告
- 動画広告
- 動画ネイティブ広告
- Release Notes
- Preparation
- Supported Devices and IDE
- nendSDK Data Collection Items
- nendSDK Privacy Policy
- About Information Button
- Banner Ad
- Icon Ads
- Interstitial Ad
- Native Ad
- Fullscreen Ad
- Video Ad
- Native Video Ad