このページでは、最新バージョンと以前のバージョンの移行について説明します。
v22 から v23 への移行
最小 Android API レベルは 21 です
バージョン 23.0.0 以降、Google Mobile Ads SDK では、すべてのアプリで
Android API レベル 21 以上で実行する必要があります。API レベルを調整するには、
アプリレベルの build.gradle
ファイルの minSdkVersion
の値を 21 以上にします。
スーパークラスから継承された AdManagerAdRequest.Builder
メソッドのチェーンが可能
バージョン 23.0.0 では、AdManagerAdRequest.Builder
その親から継承されたメソッドを連結して、
AdManagerAdRequest
1 回の呼び出しで行うことができます。
Java
AdManagerAdRequest request = new AdManagerAdRequest.Builder() .addCustomTargeting("age", "25") // AdManagerAdRequest.Builder method. .setContentUrl("https://www.example.com") // Method inherited from parent. .build(); // Builds an AdManagerAdRequest.
Kotlin
var request = AdManagerAdRequest.Builder() .addCustomTargeting("age", "25") // AdManagerAdRequest.Builder method. .setContentUrl("https://www.example.com") // Method inherited from parent. .build() // Builds an AdManagerAdRequest.
非推奨のメソッドの削除/置換
バージョン 22.0.0 API | バージョン 23.0.0 API |
---|---|
AdRequest.Builder.addTestDevice() | RequestConfiguration.Builder.setTestDeviceIds() |
AdRequest.Builder.tagForChildDirectedTreatment() | RequestConfiguration.Builder.setTagForChildDirectedTreatment() |
AdRequest.Builder.setIsDesignedForFamilies() | RequestConfiguration.Builder.setMaxAdContentRating() |
AdFormat.UNKNOWN | 代替なし |
AdLoader.Builder.forUnifiedNativeAd() | AdLoader.Builder.forNativeAd() |
AdLoader.Builder.forCustomTemplateAd() | AdLoader.Builder.forCustomFormatAd() |
AdLoader.Builder.withNativeAdOptions(com.google.android.gms.ads.formats .NativeAdOptions)
|
AdLoader.Builder.withNativeAdOptions(com.google.android.gms.ads.nativead .NativeAdOptions)
|
void MobileAds.setSameAppKeyEnabled() | boolean MobileAds.putPublisherFirstPartyIdEnabled() |
v21 から v22 への移行
MobileAds.getVersion() を使用して Google Mobile Ads SDK のバージョンを取得する
バージョン 22.0.0 では MobileAds.getVersionString()
メソッドが削除され、
/
MobileAds.getVersion()
。
新しいメソッドは、想定される外部バージョン番号(例:
22.0.0
。この変更の詳細については、新しい Google モバイル デバイスを使用する
Ads SDK getVersion()
メソッド。
サポートが終了した NativeCustomFormatAd.getVideoMediaView() を削除
バージョン 21 では、Google Mobile Ads SDK により、
NativeCustomFormatAd.getVideoMediaView()
メソッドでメディア アセットを取得する
ネイティブカスタム広告フォーマットです
バージョン 22 以降では、独自の MediaView
を作成し、そのメディアを設定します。
使用し、
MediaContent.getVideoController()
動画コントロールを表示します。
v22
// Called when a custom native ad loads. @Override public void onCustomFormatAdLoaded(NativeCustomFormatAd ad) { // Assumes you have a FrameLayout in your view hierarchy with the id media_placeholder. FrameLayout mediaPlaceholder = (FrameLayout) findViewById(R.id.media_placeholder); MediaContent mediaContent = ad.getMediaContent(); if (mediaContent != null && mediaContent.hasVideoContent()) { // Create a MediaView and set its media content. MediaView mediaView = new MediaView(mediaPlaceholder.getContext()); mediaView.setMediaContent(mediaContent); mediaPlaceholder.addView(mediaView); } }
v21
// Called when a custom native ad loads. @Override public void onCustomFormatAdLoaded(NativeCustomFormatAd ad) { // Assumes you have a FrameLayout in your view hierarchy with the id media_placeholder. FrameLayout mediaPlaceholder = (FrameLayout) findViewById(R.id.media_placeholder); VideoController videoController = ad.getVideoController(); if (videoController.hasVideoContent()) { // Add the media view provided by the native ad. mediaPlaceholder.addView(ad.getVideoMediaView()); } }
詳しくは、カスタム ネイティブ 広告 ガイドをご覧ください。
削除または置換されたメソッド
次の表に、バージョン 22.0.0 における具体的な変更点を示します。
v21.0.0 | v22.0.0 |
---|---|
MobileAds.getVersionString() | MobileAds.getVersion() |
NativeCustomFormatAd.getVideoMediaView() | NativeCustomFormatAd.getMediaContent() |
NativeCustomFormatAd.getVideoController() | NativeCustomFormatAd.getMediaContent().getVideoController() |
AdRequest.Builder.setAdInfo() | AdRequest.Builder.setAdString() |
MediationRewardedVideoAdAdapter | アダプター |
MediationRewardedVideoAdListener | |
com.google.android.gms.ads.mediation.VersionInfo | com.google.android.gms.ads.VersionInfo |
com.google.android.gms.ads.doubleclick.AppEventListener | com.google.android.gms.ads.admanager.AppEventListener |
v20 から v21 への移行
minSdkVersion を 19 以降にアップデート
バージョン 21.0.0 以降、Google Mobile Ads SDK では、すべてのアプリで
Android API レベル 19 以上が必要です。API レベルを調整するには、
アプリのビルドファイル内の minSdkVersion
の値を 19 以上にします。
厳格な null 可能性を適用する
厳格な null 可能性を適用するための準備として、@NonNull
アノテーションが次のように変更されました。
が、これまで null 可能性を明示的に定義していなかったすべての API に追加されていました。
この変更により、Kotlin アプリと Java null チェックを使用するアプリが破損する場合があります。
null 安全性違反があり、これまで処理していなかった場合のフレームワーク
null
の値を安全な方法で使用する(Kotlin のドキュメント
null 安全性
をご覧ください)。
addNetworkExtras() メソッドの削除
追加のパラメータをパラメータとして渡す addNetworkExtras()
メソッド
NetworkExtras
インスタンスと特定の広告ネットワーク アダプタの間の接続が SDK で非推奨になりました
バージョン 20.3.0 でリリースされ、バージョン 21.0.0 で削除されます。こちらの
addNetworkExtrasBundle()
メソッドを使うこともできます。AdRequest.Builder
クラス
位置情報メソッドの削除
次の位置情報メソッドは、バージョン 21.0.0 で削除されます。
AdRequest.Builder
クラスのsetLocation(Location location)
メソッド ユーザーの所在地を設定して、メディエーション ターゲティングに使用できます。- ユーザーの情報を返す
AdRequest
クラスのgetLocation()
メソッド 以前にsetLocation(Location location)
メソッドに渡される地域ターゲティング情報。 MediationAdConfiguration
クラスのgetLocation()
メソッドAdRequest
で定義されている場合は、ユーザーの位置情報を返します。
Google が広告のターゲット設定に位置情報を使用することはありません。使用すべき 第三者の API を使用して第三者広告ネットワークに情報を提供する 必要ありません。
カスタム イベント インターフェースのサポート終了
カスタムイベントを使用すると 設定すると、ウォーターフォールの広告ソースが Ad Managerのいずれか サポートされている広告ソース。
すべてのカスタム
イベント
インターフェースのサポートは終了し、
Adapter
クラスと
MediationAdLoadCallback
行うことができます。
次の表に、対応する使用すべきクラスまたはインターフェースを示します。 バージョン 21.0.0 以降、カスタム イベント インターフェースごとに、
v19 から v20 への移行
バージョン 20.0.0 には、互換性を破る変更が多数あります。バージョン 19.7.0 が導入されました 多くの新しい API を実装し、バージョン管理の準備として多くのクラスを非推奨にしたり、名前を変更したり 20.0.0.このガイドでは、バージョン 20.0.0 の主な変更点について説明します。
全画面形式の API の更新
バージョン 20.0.0 以降では、インタースティシャル、リワード、リワード インタースティシャル、 アプリ起動時広告フォーマットは、一貫した API 設計に従うように標準化されている。
すべてのフルスクリーン フォーマット API では、次の原則が使用されます。
- 静的読み込みメソッド
- 同様の読み込みコールバックまたはハンドラのメカニズム
FullScreenContentCallback
への依存 プレゼンテーション コールバック用のクラス
従来の リワード動画広告 API の削除
最新版の RewardedAd
API は 2019 年 3 月に初めて導入され、その後 18 か月間にわたってリワード広告用 API として推奨されています。従来版よりも機能が強化されたため、
RewardedVideoAd
API(複数のリワード広告の読み込み機能を含む)
一度に 1 つずつです
以前の RewardedVideoAd
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) } }
アプリからのコールバックの削除
すべての広告フォーマットの onAdLeftApplication
コールバックが削除され、
/
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 | restricted.リワード広告 LoadCallback と 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 | 削除済み |
インターフェース AdRequest.TagForUnderAgeOfConsent | 削除済み |
インターフェース 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
クラスに移動できます。- リワード広告とインタースティシャルの API を、 追加できます
- 相関性機能は削除されました。
クラス | バージョン 19.5.0 API | バージョン 20.0.0 API | メモ |
---|---|---|---|
AdSize | getPortraitBanner |
getPortraitAnchored |
|
getLandscapeBanner |
getLandscapeAnchored |
||
getCurrentOrientation |
getCurrentOrientationAnchored |
||
MobileAds | 初期化(コンテキスト, 文字列) | MobileAds.Initialize(Context, OnInitializationComplete |
アプリ ID が AndroidManifest.xml に設定されるようになりました。 |
Initialize(Context, String, MobileAds.Settings) | Initialize(Context, OnInitializationComplete |
Settings クラスは非推奨になりました。 | |
getRewardedVideo |
削除済み | 代わりに リワード広告 API を使用してください。 | |
AdListener | onAdFailedToLoad(int) | onAd |
|
onAdLeftApplication() | 削除済み | 全画面広告フォーマットでは、代わりに FullscreenContentCallback を使用します。 FullscreenContentCallback に対応するメソッドはありません。「 メソッドが AdListener から削除されました。 | |
VideoController | getAspectRatio() | MediaContent.getAspectRatio() | |
PublisherAdRequest | getGender() | 削除済み | |
getBirthday() | 削除済み | ||
getNetworkExtras() | 削除済み | ||
setManualImpressions |
削除済み | ||
updateCorrelator() | 削除済み | 詳しくは、 広告コンテンツのフィルタリング。 | |
PublisherAdRequest.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, リワード広告 LoadCallback) | リワード広告.load(Context, String, AdRequest, iedAdLoadCallback) | リワード広告が、他の広告と同じ静的読み込みのアプローチを使用するようになりました。 追加できます |
loadAd(PublisherAdRequest, iedAdLoadCallback) | リワード広告.load(コンテキスト, 文字列, アド マネージャー広告リクエスト, リワード広告読み込みコールバック) | ||
isLoaded() | 削除済み | 静的読み込みメソッドからのコールバックにより、すでに読み込まれている広告が提供されます。 | |
show(Activity, RewardedAdCallback) | show(Activity, OnUserEarnedRewardListener) | この show メソッドは、より広範なフルスクリーン フォーマットのアプローチに準拠しています。 | |
RewardedAdLoadCallback | onRewardedAd |
onAd |
|
onRewardedAd |
onAd |
||
onRewardedAdLoaded() | onAdLoaded(RewardedAd) | ||
AppOpenAdLoadCallback | onAppOpenAd |
onAd |
|
onAppOpenAd |
onAd |
||
onAppOpenAd |
onAdLoaded(AppOpenAd) | ||
RewardedInterstitialAdLoad |
onRewardedInterstitialAd |
onAd |
|
onRewardedInterstitialAd |
onAd |
||
onRewardedInterstitialAd |
onAd |
||
PublisherInterstitialAd | new PublisherInterstitialAd() | インタースティシャル広告.load(Context, String, AdRequest, 組織の広告読み込みコールバック) | インタースティシャル広告では、インタースティシャル広告の場合と同じ静的読み込みの手法が 追加できます |
setAdListener() | |||
DynamicHeightSearchAd |
getNetworkExtras() | 削除済み | NetworkExtras クラスが非推奨になりました。 |
AdLoader | forContentAd() | 削除済み | |
forAppInstallAd() | 削除済み | ||
withCorrelator() | 削除済み | ||
getMediationAdapter |
削除済み |