2021 年初頭にリリースが予定されている Google Mobile Ads SDK バージョン 20.0.0 では、いくつかの主な変更に加えて、複数の API 名の簡単な変更と、サポートが終了した API の削除が行われます。
主な変更
全画面フォーマットの API の更新
バージョン 20.0.0 では、インタースティシャル広告、リワード広告、リワード インタースティシャル広告、アプリ起動時広告の各フォーマットがすべて、類似した API 設計パターンに従うように標準化されます。
全画面フォーマットの API では、以下の設計が使用されます。
- 静的な読み込みメソッド
- 類似した読み込みコールバックまたはハンドラ メカニズム
- プレゼンテーション コールバックの
FullScreenContentCallack
クラスへの依存
従来の RewardedVideoAd API が削除されます
最新版の RewardedAd
API は 2019 年 3 月に初めて導入され、その後 18 か月間にわたってリワード広告用 API として推奨されています。一度に複数のリワード広告を読み込むことができるなど、従来の RewardedVideoAd
API からいくつかの改善が行われています。
従来の API は、SDK バージョン 20.0.0 で削除されます。
アダプティブ バナーの導入に合わせてスマートバナーのサポートを終了しました
アダプティブ バナー広告の導入に合わせて、スマートバナー広告のサポートを終了しました。アダプティブ バナーでは、パフォーマンスと広告の幅を設定する際の柔軟性が向上しています。全幅表示のバナーを引き続き使用したい場合は、以下のコード スニペットに示されるようにアダプティブ バナーを使用してください。
Java
public class MyActivity extends AppCompatActivity { ... private AdSize getFullWidthAdaptiveSize() { Display display = getWindowManager().getDefaultDisplay(); DisplayMetrics outMetrics = new DisplayMetrics(); display.getMetrics(outMetrics); float widthPixels = outMetrics.widthPixels; float density = outMetrics.density; int adWidth = (int) (widthPixels / density); return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth); } }
Kotlin
class MyActivity : AppCompatActivity() { ... private val adaptiveAdSize: AdSize get() { val display = windowManager.defaultDisplay val outMetrics = DisplayMetrics() display.getMetrics(outMetrics) val density = outMetrics.density var adWidthPixels = ad_view_container.width.toFloat() if (adWidthPixels == 0f) { adWidthPixels = outMetrics.widthPixels.toFloat() } val adWidth = (adWidthPixels / density).toInt() return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth) } }
アプリの終了時のコールバックの削除
ProcessLifecycleOwner
。
OS レベルの API を使用すると、広告のインタラクションによるものであるかどうかに関係なく、ユーザーがアプリから離れるたびに通知が届きます。
なお、onAdLeftApplication
コールバックは広告クリック ハンドラを意図したものではなく、このコールバックを使用してクリック数に関するレポートを作成しても正確な指標は生成されませんでした(AdChoices アイコンのクリックで外部ブラウザが起動された場合、コールバックは呼び出されるものの、クリックはカウントされない、など)。
クラス名の変更
以下の表は、変更または削除された具体的なクラス名を示しています。概要は次のとおりです。
UnifiedNativeAd
に関連するほとんどのクラスの名前がNativeAd
に変更されました。MobileAds.Settings
、NativeExpressAdView
、NativeAppInstallAd
、NativeContentAd
、InstreamAd
のクラスとビューが削除されました。Publisher
プレフィックスを持つすべてのクラスがAdManager
プレフィックスに置き換えられました。InterstitialAd
のパッケージ名が変更されました。
19.5.0 クラス | 20.0.0 クラス |
---|---|
com.google.android.gms.ads. | com.google.android.gms.ads. |
reward.RewardedVideoAd | rewarded.RewardedAd |
reward.RewardedVideoAdListener | rewarded.RewardedAdLoadCallback および FullScreenContentCallback |
reward.RewardItem | rewarded.RewardItem |
rewarded.RewardedAdCallback | OnUserEarnedRewardListener |
formats.UnifiedNativeAdView | nativead.NativeAdView |
formats.UnifiedNativeAd | nativead.NativeAd |
formats.UnifiedNativeAdAssetNames | nativead.NativeAdAssetNames |
formats.UnifiedNativeAd.OnUnifiedNativeAdLoadedListener | nativead.NativeAd.OnNativeAdLoadedListener |
formats.AdChoicesView | nativead.AdChoicesView |
formats.NativeAd.AdChoicesInfo | nativead.NativeAd.AdChoicesInfo |
formats.MediaView | nativead.MediaView |
formats.NativeAdViewHolder | nativead.NativeAdViewHolder |
formats.NativeAdOptions | nativead.NativeAdOptions |
formats.NativeCustomTemplateAd | nativead.NativeCustomFormatAd |
formats.NativeCustomTemplateAd |
nativead.NativeCustomFormatAd |
MobileAds.Settings | 削除済み |
doubleclick.PublisherAdRequest | admanager.AdManagerAdRequest |
doubleclick.PublisherAdView | admanager.AdManagerAdView |
formats.PublisherAdViewOptions | formats.AdManagerAdViewOptions |
doubleclick.PublisherInterstitialAd | admanager.AdManagerInterstitialAd |
InterstitialAd | interstitial.InterstitialAd |
NativeExpressAdView | 削除済み |
instream.InstreamAd | 削除済み |
mediation.admob.AdMobExtras | 削除済み |
Correlator | 削除済み |
search.SearchAdRequest | 削除済み |
Interface AdRequest.TagForUnderAgeOfConsent | 削除済み |
Interface AdRequest.MaxAdContentRating | 削除済み |
formats.NativeAppInstallAd | native.NativeAd |
formats.NativeAppInstallAdView | native.NativeAdView |
mediation.NativeAppInstallAdMapper | mediation.UnifiedNativeAdMapper |
formats.NativeContentAd | native.NativeAd |
formats.NativeContentAdView | native.NativeAdView |
mediation.NativeContentAdMapper | mediation.UnifiedNativeAdMapper |
削除または置換されたメソッド
以下の表は、バージョン 20.0.0 の具体的な変更点を示しています。概要は次のとおりです。
- 古い初期化メソッドが MobileAds クラスから削除されました。
AdRequest.Builder()
クラスの一部のメソッドが削除されたか、RequestConfiguration
クラスに移動されました。- RewardedAd API と InterstitialAd API が、すべての全画面フォーマットに合わせて更新されました。
- Correlator 機能が削除されました。
クラス | v19.5.0 API | v20.0.0 API | 備考 |
---|---|---|---|
AdSize | getPortraitBanner |
getPortraitAnchored |
|
getLandscapeBanner |
getLandscapeAnchored |
||
getCurrentOrientation |
getCurrentOrientationAnchored |
||
MobileAds | initialize(String) | MobileAds.initialize(Context, OnInitializationComplete |
アプリ ID が AndroidManifest.xml に設定されるようになりました。 |
initialize(String, MobileAds.Settings) | initialize(Context, OnInitializationComplete |
Settings クラスのサポートが終了しました。 | |
getRewardedVideo |
削除済み | 代わりに RewardedAd API を使用してください。 | |
AdListener | onAdFailedToLoad(int) | onAd |
|
onAdLeftApplication() | 削除済み | 全画面の広告フォーマットは AdListener の代わりに FullscreenContentCallback を使用します。FullscreenContentCallback には同等のメソッドはありません。このメソッドは AdListener から削除されました。 | |
VideoController | getAspectRatio() | MediaContent.getAspectRatio() | |
AdRequest | getGender() | 削除済み | |
getBirthday() | 削除済み | ||
getNetworkExtras() | 削除済み | ||
setManualImpressions |
削除済み | ||
updateCorrelator() | 削除済み | 広告コンテンツのフィルタリングをご覧ください。 | |
AdRequest.Builder | setBirthday() | 削除済み | |
setGender() | 削除済み | ||
setIsDesignedForFamilies() | 削除済み | ガイドをご確認ください。 | |
addTestDevice() | RequestConfiguration |
テスト広告の有効化をご覧ください。 | |
tagForChildDirectedTreatment() | RequestConfiguration |
広告コンテンツのフィルタリングをご覧ください。 | |
setTagFor |
RequestConfiguration |
||
setMaxAdContentRating() | RequestConfiguration |
||
AdView | getMediationAdapter |
ResponseInfo |
ResponseInfo オブジェクトが AdView メソッド getResponseInfo() を介して利用できるようになりました。 |
NativeAdOptions | setImageOrientation() | setMediaAspectRatio() | |
getImageOrientation | getMediaAspectRatio() | ||
RewardedAd | loadAd(AdRequest, RewardedAdLoadCallback) | RewardedAd.load(Context, String, AdRequest, RewardedAdLoadCallback) | RewardedAd で、他の全画面フォーマットと同じ静的な読み込みのアプローチが使用されるようになりました。 |
loadAd(PublisherAdRequest, RewardedAdLoadCallback) | RewardedAd.load(Context, String, AdManagerAdRequest, RewardedAdLoadCallback) | ||
isLoaded() | 削除済み | 静的な読み込みメソッドのコールバックにより、読み込み済みの広告が提供されます。 | |
show(Activity, RewardedAdCallback) | show(Activity, OnUserEarnedRewardListener) | この表示メソッドは、より広範な全画面フォーマットのアプローチに基づいています。 | |
RewardedAdLoadCallback | onRewardedAd |
onAd |
|
onRewardedAd |
onAd |
||
onRewardedAdLoaded() | onAdLoaded(RewardedAd) | ||
AppOpenAdLoadCallback | onAppOpenAd |
onAd |
|
onAppOpenAd |
onAd |
||
onAppOpenAd |
onAdLoaded(AppOpenAd) | ||
RewardedInterstitialAdLoad |
onRewardedInterstitialAd |
onAd |
|
onRewardedInterstitialAd |
onAd |
||
onRewardedInterstitialAd |
onAd |
||
InterstitialAd | 新しい InterstitialAd() | InterstitialAd.load(Context, String, AdRequest, InterstitialAdLoadCallback) | InterstitialAd で、他の全画面フォーマットと同じ静的な読み込みのアプローチが使用されるようになりました。 |
setAdListener() | |||
DynamicHeightSearchAd |
getNetworkExtras() | 削除済み | NetworkExtras クラスのサポートが終了しました。 |
AdLoader | forContentAd() | 削除済み | |
forAppInstallAd() | 削除済み | ||
withCorrelator() | 削除済み | ||
getMediationAdapter |
削除済み |