2021 年初頭にリリースが予定されている Google Mobile Ads SDK バージョン 8.0.0 では、いくつかの主な変更に加えて、複数の API 名の簡単な変更と、サポートが終了した API の削除が行われます。
主な変更
全画面フォーマットの API の更新
バージョン 8.0.0 では、インタースティシャル広告、リワード広告、リワード インタースティシャル広告、アプリ起動時広告の各フォーマットがすべて、類似した API 設計パターンに従うように標準化されます。
全画面フォーマットの API では、以下の設計が使用されます。
- 静的な読み込みメソッド
- 類似した読み込みコールバックまたはハンドラ メカニズム
- プレゼンテーション コールバックの
GADFullScreenContentDelegate
クラスへの依存
詳しくは、全画面フォーマットの移行ガイドをご覧ください。
従来の GADRewardedBasedVideoAd API が削除されます
最新版の GADRewardedAd
API は 2019 年 3 月に初めて導入され、その後 18 か月間にわたってリワード広告用 API として推奨されています。一度に複数のリワード広告を読み込むことができるなど、従来の GADRewardedBasedVideoAd
API からいくつかの改善が行われています。
従来の API は、SDK バージョン 8.0.0 で削除されます。
アダプティブ バナーの導入に合わせてスマートバナーのサポートを終了しました
アダプティブ バナー広告の導入に合わせて、スマートバナー広告のサポートを終了しました。アダプティブ バナーでは、パフォーマンスと広告の幅を設定する際の柔軟性が向上しています。全幅表示のバナーを引き続き使用したい場合は、以下のコード スニペットに示されるようにアダプティブ バナーを使用してください。
Swift
class ViewController: UIViewController { override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) // Note: The safe area is not known until viewWillAppear. let adSize = getFullWidthAdaptiveAdSize() } func getFullWidthAdaptiveAdSize() -> GADAdSize { // Here safe area is taken into account, hence the view frame is used after the // view has been laid out. let frame = { () -> CGRect in if #available(iOS 11.0, *) { return view.frame.inset(by: view.safeAreaInsets) } else { return view.frame } }() return GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(frame.size.width) } }
Objective-C
@implementation ViewController - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; // Note: The safe area is not known until viewWillAppear. GADAdSize adSize = [self getFullWidthAdaptiveAdSize]; } - (GADAdSize)getFullWidthAdaptiveAdSize { CGRect frame = self.view.frame; // Here safe area is taken into account, hence the view frame is used after // the view has been laid out. if (@available(iOS 11.0, *)) { frame = UIEdgeInsetsInsetRect(self.view.frame, self.view.safeAreaInsets); } return GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(frame.size.width); } @end
アプリの終了時のコールバックの削除
applicationDidEnterBackground:
および sceneDidEnterBackground:
メソッドとの兼ね合いで、すべての広告フォーマットの willLeaveApplication
コールバックが削除されました。
OS レベルの API を使用すると、広告のインタラクションによるものであるかどうかに関係なく、ユーザーがアプリから離れるたびに通知が届きます。
なお、willLeaveApplication
コールバックは広告クリック ハンドラを意図したものではなく、このコールバックを使用してクリック数に関するレポートを作成しても正確な指標は生成されませんでした(AdChoices アイコンのクリックで外部ブラウザが起動された場合、コールバックは呼び出されるものの、クリックはカウントされない、など)。
クラス名の変更
以下の表は、バージョン 8.0.0 で変更または削除された具体的なクラス名を示しています。概要は次のとおりです。
GADUnifiedNativeAd
に関連するすべてのクラスの名前がGADNativeAd
に変更されました。GADRewardBasedVideoAd
、GADNativeExpressAdView
、GADInstreamAd
が削除されました。DFP
プレフィックスを持つすべてのクラスがGAM
プレフィックスに置き換えられました。
v7.68.0 クラス | v8.0.0 クラス |
---|---|
DFPBannerView | GAMBannerView |
DFPBannerViewOptions | GAMBannerViewOptions |
DFPInterstitial | GAMInterstitialAd |
DFPRequest | GAMRequest |
GADRequestError | NSError |
GADUnifiedNativeAdView | GADNativeAdView |
GADUnifiedNativeAd | GADNativeAd |
GADUnifiedNativeAdAssetIdentifiers | GADNativeAdAssetIdentifiers |
GADUnifiedNativeAdDelegate | GADNativeAdDelegate |
GADUnifiedNativeAdUnconfirmedClickDelegate | GADNativeAdUnconfirmedClickDelegate |
GADNativeCustomTemplateAd | GADCustomNativeAd |
GADNativeCustomTemplateAdLoaderDelegate | GADCustomNativeAdLoaderDelegate |
GADNativeAdDelegate | GADCustomNativeAdDelegate |
GADAdLoaderOptions | GADAdOptions |
GADNativeAdMediaAdLoaderOptions | GADNativeAdMediaAdOptions |
GADInAppPurchase | 削除済み |
GADInterstitial | GADInterstitialAd |
GADNativeExpressAdView | 削除済み |
GADRewardBasedVideoAd | 削除済み |
GADInstreamAd | 削除済み |
GADInstreamAdView | 削除済み |
削除または置換されたメソッド
以下の表は、バージョン 8.0.0 の具体的な変更点を示しています。概要は次のとおりです。
- すでにサポートの終了していたメソッドおよびプロパティが削除されました。
- すべてのフォーマットで
-willLeaveApplication:
のデリゲート メソッドが削除されました。 - 広告ネットワークのクラス名が
GADResponseInfo
プロパティに移動されました。 - テストデバイス ID が
GADRequestConfiguration
プロパティに移動されました。
v7.68.0 クラス | v7.68.0 API | v8.0.0 API | 備考 |
---|---|---|---|
GADMobileAds | +configureWithApplicationID: | -startWithCompletionHandler: | アプリ ID が Info.plist に設定されるようになりました。 |
+disableAutomatedInApp |
-disableAutomatedInApp |
||
+disableSDKCrashReporting | -disableSDKCrashReporting | ||
GADRequest | testDevices | GADRequestConfiguration |
testDeviceIdentifiers プロパティはすべての広告リクエストに適用されますが、古い testDevices プロパティはリクエストごとに設定されていました。 |
性別 | 削除済み | ||
誕生日 | 削除済み | ||
+sdkVersion | GADMobileAds.sharedInstance |
||
-setBirthday |
削除済み | ||
-setLocationWithDescription: | -setLocationWith |
||
-tagForChildDirectedTreatment: | [GADMobileAds.sharedInstance.requestConfiguration tagForChildDirectedTreatment] | ||
GADErrorCode | kGADError* | GADError* | すべてのエラーコード定数から k プレフィックスから破棄されます。
|
GADBannerView | hasAutoRefreshed | autoloadEnabled | |
inAppPurchaseDelegate | 削除済み | ||
mediatedAdView | 削除済み | ||
adNetworkClassName | responseInfo |
||
DFPBannerView | -setValidAdSizesWithSizes: | -setValidAdSizes: | |
DFPBannerViewOptions | -adSizeDelegate | 削除済み | |
GADBannerViewDelegate | -adViewDidReceiveAd: | -bannerViewDidReceiveAd: | |
-adView:didFailToReceive |
-bannerView:didFailToReceive |
||
-adViewWillPresentScreen: | -bannerViewWillPresentScreen: | ||
-adViewWillDismissScreen: | -banerViewWillDismissScreen: | ||
-adViewDidDismissScreen: | -bannerViewDidDismissScreen: | ||
-adViewWillLeaveApplication: | 削除済み | ||
GADNativeCustomTemplateAd | templateID | GADCustomNativeAd.formatID | |
-performClickOnAssetWithKey: |
-performClickOnAssetWithKey: | ||
GADNativeAdImageAd |
preferredImageOrientation | GADNativeAdMediaAdOptions |
|
GADInterstitial | inAppPurchaseDelegate | 削除済み | |
isReady | 削除済み | 代わりに canPresentFrom |
|
hasBeenUsed | 削除済み | ||
-init | -initWithAdUnitID: | ||
-setAdUnitID: | -initWithAdUnitID: | ||
adNetworkClassName | responseInfo |
||
-interstitialWill |
削除済み | ||
GADUnifiedNativeAd | videoController | mediaContent.videoController | |
adNetworkClassName | responseInfo |