AI-generated Key Takeaways
-
Recent updates to the Google Mobile Ads SDK for iOS have focused on bug fixes, performance improvements, and compatibility with newer iOS versions and Xcode releases, including support for iOS 26 and Xcode 16.0.
-
Significant major version updates (v12.0.0, v11.0.0, v10.0.0, v9.0.0, v8.0.0) introduced breaking changes requiring migration, removal of deprecated APIs, and changes in minimum supported iOS and Xcode versions.
-
The SDK has continuously added and updated features related to ad formats (e.g., inline adaptive ads, app open ads), Ad Inspector capabilities, Open Measurement SDK integration, and privacy-related features like App Tracking Transparency and privacy manifest files.
-
Numerous bug fixes have addressed crashes on specific iOS versions, rendering and impression reporting issues, audio playback conflicts, and issues with native and full-screen ads.
-
Deprecations have occurred across many versions, removing older APIs and features, including location-related fields, legacy ad formats, and specific delegate methods, encouraging developers to use newer alternatives.
- Deprecated the
-registerAdView:clickableAssetViews:nonclickableAssetViews:and-unregisterAdViewAPIs on theGADNativeAdobject. UseGADNativeAdViewto render native ads instead.
- Fixed a crash on iOS 15 and lower when setting the
sceneproperty on aGADRequestobject.
- Bug fixes and performance improvements.
- Google Mobile Ads SDK supports iOS 26.
- Bug fixes and performance improvements.
- Placement IDs are now correctly sent for native ad requests.
- Improved full-screen ad rendering and impression reporting accuracy on iOS 26 iPads with adjustable windows
- Resolved an issue where the screen can become unresponsive when a user immediately dismissed an in-app App Store page.
- Ad Inspector : Added support for configuring out-of-context test ads in ad inspector with additional request parameters.
- Allowlisted publishers now have placement ID support for all ad formats.
- Fixed an issue where a collapsible banner ad could be expanded on top of another ad.
- Made changes to the way the SDK interacts with
AVAudioSessionthat improves compatibility with Unity’s audio engine. - The unmute ad button now unmutes the device for all ad formats, even
if the device is in silent mode. Use the
audioSessionIsApplicationManagedAPI to change the default behavior.
- Resolved an issue preventing custom clicks on custom native video ads.
- Resolved a crash related to
SKOverlaydismissal in Unity apps. - The unmute native ad button now unmutes the device, even if the device
is in silent mode. Use the
audioSessionIsApplicationManagedAPI to change the default behavior.
- Bug fixes and performance improvements.
- Bug fixes and performance improvements.
- Breaking changes
:
- Updated the minimum supported Xcode version to 16.0.
- Updated Swift API names to follow the naming conventions from Apple’s Swift API Design Guidelines.
- Many previously deprecated APIs have been removed.
- Inline adaptive ads
:
- Calling
CGSizeFromGADAdSize(_:)with an inline adaptive ad size now returns0height until Google Mobile Ads SDK returns an ad.
- Calling
- Swift 6 concurrency
:
- Started incremental migration to support Swift 6’s concurrency model.
- Custom targeting
:
- The
customTargetingdictionary onGADRequestnow usesAnyinstead ofStringas the value type.
- The
- Optimized video ad memory allocation to prevent resource overload, reducing
AVErrorMediaServicesWereReseterrors and improving playback stability.
- Fixed an issue where
GADFullScreenContentDelegatemethods were not called if the ad object was released before the ad finishes presenting. - Open Measurement : Updated to OM SDK 1.5.2.
- Deprecated
GADErrorMediationNoFill. - Interscroller ads:
Deprecated
GADMediationInterscrollerAdand-loadInterscrollerAdForAdConfiguration:completionHandler:.
- Made video buffering changes to improve playback performance on cellular connection.
- Official release for iOS 18 support.
- Fixed an issue that would prevent app open ads from hiding the status bar.
- Updated debug console logs to use
OSLogwith the subsystem namecom.google.GoogleMobileAds. - Fixed a bug related to MarketplaceKit that would cause the SDK to crash when running on MacOS.
- Native ads:
Fixed a bug where playing a paused video triggered
an extra
GADVideoControllerDelegateplay and pause callback.
- Deprecated
GADQueryInfoAPIs. For generating query information, use+[GADMobileAds generateSignal:completionHandler:]instead. - Allowlisted publishers can now use
GADRequest.customTargetingto segment mediation groups using custom key-value pairs.
- Added a dependency on MarketplaceKit . This requires apps to build with Xcode 15.3 or above.
- MarketplaceKit is Swift-only, so a Swift placeholder file has been added to the distribution so Swift standard libraries are included in apps even if they don't contain other Swift files.
- Added the
isCollapsibleproperty toGADBannerViewto check if a returned banner is collapsible. - The
userInteractionEnabledstatus of native ad asset views is now restored after setting the asset views tonil. - Ad Inspector : Added support for displaying additional privacy signals such as TFUA and TFCD.
- Updated the signing identity from
AdMob Inc.toGoogle LLCusing team IDEQHXZ8M8AV. If this triggers a notice in Xcode, select “Accept Change” to accept the new identity.
- Added the
adUnitIDproperty toGADAppOpenAd.
- Added support for privacy manifest files .
- Open Measurement : Updated to OM SDK 1.4.12.
- Improved some response error codes to correctly identify network failures instead of no fills.
- Updated the SDK's
Info.plistto work around a Swift Package Manager issue on Xcode 15.3. - Ad Inspector
: Added support for displaying
.plistinformation and IAB TCF values.
- Fixed an issue where loading video ads could trigger a warning message to the console about main thread utilization.
- Ad Inspector : Added support for displaying the user’s app tracking authorization status.
- Open Measurement
:
- Rolled back to OM SDK 1.4.8.
- Works around an unintended global
adViewsymbol present in OM SDK 1.4.10, that causes duplicate symbol errors if OM SDK 1.4.10 is included by multiple libraries.
- Breaking changes
:
- The SDK no longer depends directly on GoogleAppMeasurement. To continue collecting user metrics in AdMob, link your AdMob app to Firebase and integrate the Google Analytics for Firebase SDK into your app.
- Updated the minimum supported Xcode version to 15.1.
- Updated the minimum deployment target to iOS 12.
- Updated the minimum OS required to receive ads to iOS 13.
- Many previously deprecated APIs have been removed.
- Open Measurement: Updated to OM SDK 1.4.10.
- Full-screen ads
:
-
UIViewControllerreferences for full-screen ads are now nullable and not required. The SDK uses the app’s main window to look up view controllers automatically when one is not provided.
-
- Testing
:
- Updated
isTestingAPIs:GADMediationAdConfiguration.isTestRequestandGADCustomEventRequest.isTestingnow returns true when the device is a simulator or is defined as a test device in the AdMob UI.
- Updated
- Ad Inspector
:
- Ad Inspector now displays any errors encountered during session start.
- Fixed a rare crash associated with Ad Inspector during SDK initialization.
- Deprecated
GADSimulatorID. Simulators are already in test mode by default. - Deprecated
-setSameAppKeyEnabled:. Use-setPublisherFirstPartyIDEnabled:instead. - Added extra deprecation warnings for
GADCustomEventAPIs. UseGADMediationAdapterAPIs instead.
- Added the
publisherPrivacyPersonalizationStateproperty for the Publisher Privacy Treatment API (Beta). - Deprecated
GADAdFormatUnknown.
- Deprecated the
childDirectedTreatmentproperty inGADMediationAdConfiguration. UseGADMobileAds.sharedInstance.requestConfiguration.tagForChildDirectedTreatmentinstead.
- Fixed a bug that could cause some creatives to display incorrectly when an ad is loaded in one orientation but presented in another.
- Official release for iOS 17 support.
- Open Measurement: Updated to OM SDK 1.4.8.
- Ad inspector : Added SDK support to display plugin information.
- Removed console logs that recommend adding simulator IDs in the
testDeviceIdentifiersAPI. Simulators are already in test mode by default.
- Open Measurement: Updated to OM SDK 1.4.6.
- Ad inspector : Added SDK support for exporting ad responses.
- Fixed audio issue where even if the ad is muted, the audio session would unexpectedly stop the background music when the video ends.
- Added support for passing an ad unit ID when generating
GADQueryInfo.
- Made minor changes to the way
adWillPresentFullScreenContent:,adWillDismissFullScreenContent:, andadDidDismissFullScreenContent:delegate callbacks are handled by delegates for mediated ads. These changes make mediated ads behave more like first-party ads. - Third-party SDKs that call
adWillPresentFullScreenContent:followed byadDidDismissFullScreenContent:multiple times now trigger multiple callbacks, rather than only for the first set of calls. - When third-party full screen ads fail to present,
ad:didFailToPresentFullScreenContentWithError:is called instead ofadWillPresentFullScreenContent:andadDidDismissFullScreenContent:.
- GADRequestConfiguration:
Deprecated the
tagForChildDirectedTreatment:method and added atagForChildDirectedTreatmentread-write property. - GADRequestConfiguration:
Deprecated the
tagForUnderAgeOfConsent:method and added atagForUnderAgeOfConsentread-write property. - Deprecated
sdkVersion. UseversionNumberinstead. - Non-rendering adapters can now be kept for signal collection.
- Reduced memory usage when many parallel ad requests are made.
- Fixed a memory leak that occurred when creating a
GADQueryInfoobject.
- Updated minimum supported Xcode version to 14.1.
- armv7 is not supported in Xcode 14 and has been removed from the SDK.
- The minimum deployment target has been increased to iOS 11.0.
- Ad inspector : Added SDK support to show ad unit names in the ad inspector UI.
- Bug fixes and performance improvements.
- Bug fixes and performance improvements.
- Breaking changes
:
- Ads are no longer served on iOS 11. iOS 12 is required to retrieve ads, though the minimum deployment target is still iOS 10.0.
- Removed the following already deprecated fields:
-
userBirthday -
userGender -
userHasLocation -
userLatitude -
userLocationAccuracyInMeters -
userLocationDescription -
userLongitude
-
- Native ads
: Fixed a bug where
GADMediaContent.mainImagereturnednileven though the image rendered successfully in aGADMediaView. - Ad inspector's out of context native ads now have media views.
- Deprecated the following fields in
GADMediationAdConfiguration:-
userHasLocation -
userLatitude -
userLocationAccuracyInMeters -
userLongitude
-
- Removed bitcode from Google Mobile Ads SDK build.
- App Open Ads:
+loadWithAdUnitID:request:orientation:completionHandler:has been deprecated and replaced with+loadWithAdUnitID:request:completionHandler:. Loading app open ads now assumes the current orientation of the device, matching other full-screen formats. - Added mediation support for app open ads.
- Ad Inspector : Added SDK support for requesting and showing ads through the Ad Inspector UI.
- Supported additional click actions in native ads.
- Bug fixes and performance improvements.
- Added
GADQueryInfoto support Signals Collection and Rendering. - Updated documentation for audio APIs.
- Bug fixes and performance improvements.
- Official release for iOS 16 support.
- iLTV:
Added the following properties to
GADAdNetworkResponseInfo:-
adSourceID adSourceInstanceName adSourceName
GADResponseInfo:-
extrasDictionary
-
- Bug fixes and performance improvements.
- Rewarded mediation: Deprecated
didRewardUserWithReward:inGADMediationRewardedAdEventDelegatein favor ofdidRewardUser. The ad reward provided bydidRewardUserWithReward:has always been a no-op, with the ad reward value coming from the ad unit settings in the AdMob UI. - Ad inspector : Added SDK support for exporting ad requests.
- Added the
loadedAdNetworkResponseInfoproperty toGADResponseInfo, returning information about the ad network that loaded the ad. - Added the
adSourceInstanceIDproperty toGADAdNetworkResponseInfo.
- Added support for ad monetization within
WKWebView. See Integrate the WebView API for ads for more details.
- Native Mediation:
nativeAdDidRecordImpression:andnativeAdDidRecordClick:callbacks are now invoked on mediated native ads. - Replaced
externwithFOUNDATION_EXPORTacross public headers to support compatibility with C++ headers.
- Updated minimum supported Xcode version to 13.2.1.
- Bug fixes and performance improvements.
- Bug fixes and performance improvements.
- Open Measurement: Updated to OM SDK 1.3.30.
- Added warnings when application code references
adDidPresentFullScreenContentinstead of the neweradWilllPresentFullScreenContentinGADFullScreenContentDelegate
- Bug fixes and performance improvements.
- Deprecated the constant
kGAMSimulatorIDinGAMRequest. UseGADSimulatorIDinGADRequestConfigurationinstead. - Deprecated the
credentialsproperty inGADAdNetworkResponseInfo. Use the newadUnitMappingproperty of the same class.
- Fixed a bug where the Native Validator could cause a crash when a native ad view is removed from the view hierarchy in test mode.
- Deprecated all constants with
kGADprefix. Use those withGADprefix instead.
- Official release for iOS 15 support.
- Added guards to prevent apps from crashing when Google Mobile Ads SDK is run on iOS 9 or below. The SDK is only supported in iOS 10+ and is no-op otherwise.
- Fixed an uncommon bug affecting iOS 15 betas where full screen web views may not be sized correctly for multiscene apps.
- Fixed a bug where a call to
registerAdNetworkExtras:would crash if theGADRequestobject was created via the copy method.
- Added logic to prevent rare cases where multiple in-app stores could be presented on top of each other.
- Added
bannerViewDidRecordClick:andadDidRecordClick:delegate APIs for ad clicks reporting. - Changed property
keywordstype toNSArray<NSString *>inGADRequest.
- Deprecated the
mediaViewproperty inGADCustomNativeAd. Instead, use the newmediaContentproperty of the same class. - Fixed a bug where video mute / unmute delegate callbacks did not get invoked for bidding native ads.
- Updated the
kGADSimulatorIDtype fromidtoNSString*to avoid extra type casting in Swift.
- Fixed a bug where an experimental ad format would not be dismissed on ad dismissal if presented multiple times.
- Increased support for
SKAdNetworkconversion events usingSKAdImpression.
- Added support for Publisher first-party ID (formerly known as same app key) to help you deliver more relevant and personalized ads by using data collected from your apps.
- Added
adWillDismissFullScreenContent:toGADFullScreenContentDelegate. - Fixed an issue where
adDidPresentFullScreenContent:was called immediately prior to presentation rather than immediately after.
- Fixed the CocoaPods install error " Can't merge
user_target_xcconfig
" that occurred when using multiple pods with
different
user_target_xcconfigsettings.
- Added additional
SKAdNetworksupport in preparation forAppTrackingTransparencyenforcement. - Removed a
UIWindowScenemacro definition only needed in Xcode versions prior to 11.
- Deprecated
disableAutomatedInAppPurchaseReportingandenableAutomatedInAppPurchaseReporting. IAP reporting has been removed from the SDK. These methods are now no-ops. - Added flags to reduce SDK access to
CTTelephonyNetworkInfoAPIs.
- Major version 8 changes, as described in Prepare for SDK v8 .
- Improved SDK performance when making large numbers of requests concurrently.
- Removed i386 architecture support. 32-bit simulators are no longer supported by Xcode.
- Fixed a bug where
adapterVersionin theGADMediationAdapterprotocol had conflicts withNSObjectin Swift.
- Required apps to build against Xcode 12.0 or higher.
- Added an arm64 simulator slice to allow testing on simulators for Apple Silicon Mac platforms.
- Added a
styleIDparameter toGADDynamicHeightSearchRequest. - Added the
-adDidRecordImpression:callback toGADFullScreenContentDelegatefor fullscreen beta formats. - Added support for the
NSUserDefaultsgad_has_consent_for_cookies. Google Mobile Ads SDK will enable limited ads (LTD) when thegad_has_consent_for_cookiespreference is set to zero. See setting consent for cookies for more details. - Google Mobile Ads SDK will disable transmission of the Advertising
Identifier (IDFA) when the
GADMobileAds.sharedInstance().requestConfiguration.tagis called withforChildDirectedTreatment: true(see child-directed setting ), orGADMobileAds.sharedInstance().requestConfiguration.tagForUnderAgeOfConsent(true)is called (see users under the age of consent setting ).
- Updated the SDK from a
.frameworkto a.xcframework. CocoaPods 1.9.0 or higher is now required for CocoaPod installations. - Removed arm64e from the distribution. Local testing on arm64e will no longer be available.
- Added Ad Inspector Beta.
- Fixed a bug where the
rootViewControllerofGADNativeCustomTemplateAdretains a strong pointer to the ad.
- Released new beta APIs for interstitial and rewarded ads. New APIs provide the same functionality but have improved consistency.
- Added the
neighboringContentURLStringsproperty toGADRequest. - Added APIs for the
GADRewardedInterstitialAdformat. Rewarded interstitial ads are currently in private beta. Reach out to your account manager to request access. - Fixed a bug where ad landing pages are cut off on devices with notches.
- Banner Ads:
Added the
adViewDidRecordImpression:delegate method toGADBannerViewDelegate.
- Requires apps to build against Xcode 11.0 or higher.
- Deprecated the
GADInstreamAdformat. - Test Ads : Adding a test device is now supported in cases where IDFA is unavailable.
- Official release version for iOS 14.
- Added support for App Tracking Transparency. See request App Tracking Transparency authorization for more information.
- Added support for
SKAdNetwork. We strongly recommend that you register Google ad networks in your app.
- Google Mobile Ads SDK is now distributed with the User Messaging Platform SDK .
- For CocoaPods users, the minimum deployment target is now 9.0.
- Fixed a bug causing
GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth()to return sizes for the incorrect orientation. - Added a
responseInfoproperty toGADNativeAdand deprecated theadNetworkClassNameproperty. - Added a
sdkVersionproperty toGADMobileAdsand deprecated thesdkVersionmethod inGADRequest.
- App Open Ads:
Changed
GADAppOpenAdto be a full screen format. App open ads are currently in private beta. Reach out to your account manager to request access. - Interstitial Mediation:
interstitialDidDismissScreen:callbacks from mediation adapters are now de-duplicated.
- Fixed bug where videos would need to be clicked twice to play after being paused due to removing headphones.
- Added the
dictionaryRepresentationproperty toGADResponseInfoto enable easier logging of response info. - Removed the
DFPCustomRenderedAdclass, an unused ad format class that apps shouldn't reference.
- Rewarded Ads
: Modified
serverSideVerificationOptionsproperty ofGADRewardedAdto bestronginstead ofcopy. - Implemented the
descriptionmethod onGADResponseInfoandGADAdNetworkResponseInfofor easier logging. - All presentation errors (e.g.,
rewardedAd:didFailToPresentWithError:) now always return a code fromGADPresentationErrorCode. Mediation presentation errors are surfaced as underlying errors .
- Open Measurement: Updated to OM SDK 1.3.3.
- Interstitial Ads: Fixed a bug where interstitials on iPad could rotate to unsupported orientations, causing UI issues.
- Test Ads: Updated the test ad label to read "Test mode" instead of "Test Ad" and updated the label UI.
- Minimum Xcode version support increased to 11.0.
- Added the
adNetworkInfoArrayproperty toGADResponseInfo. This property surfaces metadata about mediation networks called as part of this ad response. - Disabled accessibility for hidden ad elements so tools like VoiceOver do not call out inactive elements.
- Deprecated
GADRewardBasedVideoAd. All clients should useGADRewardedAd. - Improved error messages for "adapter not found" errors. Error messages now contain the name of the adapter.
- Fixed a
GADRewardedAdissue where therewardedAd:didFailToPresentWithError:method would not be called back in cases where no rewarded ad had been loaded. - Fixed a potential crash that could occur if creatives attempted to load
non-HTTP URLs inside a
SafariViewController.
- Added
disableAutomatedInAppPurchaseReportingandenableAutomatedInAppPurchaseReportinginstance methods onGADMobileAdsand deprecated thedisableAutomatedInAppPurchaseReportingclass method. CalldisableAutomatedInAppPurchaseReportingprior to initializing the Google Mobile Ads SDK or loading ads to disable automated IAP reporting. - Added the
disableMediationInitializationmethod toGADMobileAds. Call this method prior to initializing the Google Mobile Ads SDK to disable mediation adapter initialization. - Removed i386 architecture. 32-bit simulator support no longer exists.
- Rewarded ads
: Fixed a bug where
rewardedAd:didFailToPresentWithError:returned typeNSStringfor the error instead ofNSError.
- Removed all references to
UIWebView.UIWebViewis no longer supported.
- Open Measurement: Updated to OM SDK 1.3.1.
- Enabled WKWebView as the SDK default across all web views.
- Added support for reading consent parameters from
IAB TCF v2.0 and the IAB
us_privacystring.
- Renamed the
kGADErrorAppIDMissingerror code tokGADErrorApplicationIdentifierMissing. - Rewarded Mediation : Fixed a bug where bidding did not work when using the GADRewardedAd API.
- Open Measurement: Updated to OM SDK 1.2.21.
- Interstitial/Rewarded Ads
: Added the
canPresentFromViewController:method. Multiscene applications can use this method to check whether the ad can still be presented when the scene changes size. - Interstitial Ads
:
interstitialDidFailToPresentScreen:is now called when trying to present an ad that isn't ready or an ad that was already presented. - Native ads : Fixed a bug where a UI API was called on a background thread.
- Fixed the
GADBlockSignalSourcememory leak that occurred when loading ads. - Native Mediation
: Removed
GADMediatedNativeAppInstallAdandGADMediatedNativeContentAd. - Native Mediation:
Added
durationandcurrentTimeproperties into the GADMediatedUnifiedNativeAd protocol.
- Fixed a bug where the instream ad's media aspect ratio in the request was not respected.
- Minimum supported iOS version increased to iOS 9. Apps can still link against iOS 8, but ads will only load on iOS 9+.
- Added
currentTimeanddurationproperties toGADMediaContent. - Added
mediaContentproperty toGADInstreamAdand removedvideoController,duration,currentTime, andaspectRatioproperties. - Added the anchored adaptive banner API .
- Official release for iOS 13 support.
- Open Measurement: Updated to OM SDK 1.2.19.
- Added support for multi-scene apps. Apps supporting multiple scenes
must set the
sceneproperty onGADRequestto receive appropriately sized ads. - Removed
SKStoreProductViewControllersubclass, which is disallowed on iOS 13. - Resolved Apple warning during app store submission about deprecated API usage.
- Added
testRequestIdentifiersproperty toGADMobileAds.requestConfiguration. Deprecated thetestDevicesproperty onGADRequest. - Deprecated the
kGADErrorMediationNoFillerror code. All no fill errors now return thekGADErrorNoFillerror code. - Rewarded Ads:
The
customRewardStringproperty can now be set any time before aGADRewardedAdis shown. Previously, this property needed to be set prior to loading an ad. - Mediation: Improved public error messages when mediation adapters could not be found or do not conform to the correct protocol.
- Added an ad response identifier API for looking up creatives in the Ad Manager Ad Review Center.
- Open Measurement: Updated to OM SDK 1.2.17.
- Rewarded Ads:
Fixed a bug where apps using the old rewarded video
APIs (e.g.,
GADRewardBasedVideoAd) saw impression drops in mediation reports.
- Open Measurement: Updated to OM SDK 1.2.16.
- Improved logging messages when apps improperly configure their app ID in
their
Info.plist. - Fixed a rendering bug in interstitial and rewarded video app install ads.
- Included arm64e architecture in the GoogleMobileAds framework to support testing on device. Xcode 10 is now required to build.
- Native Ads:
Removed the previously deprecated
GADNativeAppInstallAdandGADNativeContentAdAPIs. Apps should use unified native ads . - Native Ads:
Fixed a bug where the native ad returns a
nilmedia view and aspect ratio of zero even though it has video content. - Mediation: Fixed a crash that occurs when mediation adapters fire multiple success/failure callbacks for the same request.
- Open Measurement: Updated to OM SDK 1.2.15.
- Fixed a crash that occurs on rare occasions when dismissing video ads.
- Updated the
rewardedAdMetadataDidChangecallback to not be called when metadata isnil.
- Official release for App Measurement support.
- App measurement initializes and sends data on app start by default. Added an option to delay app measurement until Google Mobile Ads SDK is explicitly called.
- Open Measurement: Updated to OM SDK 1.2.14.
- Removed
GADCorrelatorand its associated APIs. This feature was previously non-functional. - The
preferredImageOrientationproperty inGADNativeAdImageAdLoaderOptionsis deprecated. UseGADNativeAdMediaAdLoaderOptionsinstead.
- Updated the minimum required iOS version to 8.0.
- Official release version for Open Measurement support.
- Open Measurement: Includes OM SDK 1.2.13.
- Open Measurement: Added support for custom native ad formats.
- Native Ads:
Added
videoControllerandhasVideoContentproperties toGADMediaContent. - Native Ads:
Deprecated
videoControllerinGADUnifiedNativeAd, andhasVideoContentandaspectRatiomethods inGADVideoController. - Native ads:
Added the
GADNativeAdMediaAdLoaderOptionsclass with anaspectRatioproperty, enabling publishers to request a specific aspect ratio for a native ad's media asset. This option takes precedence over thepreferredImageOrientationproperty inGADNativeAdImageAdLoaderOptions. - Native Ads:
GADMediaViewnow respects thecontentModeproperty when rendering images.
- Rewarded Mediation (New APIs): Fixed a bug where rewarded mediation adapters automatically get deallocated after the load call.
- Fixed a rare crash that may occur when video ads are deallocated.
- Google Mobile Ads SDK now depends on App Measurement. You must include
the App Measurement framework and dependencies. Your application ID must
be placed into your application's plist using the key
GADApplicationIdentifier. See the Quick Start guide for more information. - SDK framework size reduced to below GitHub limits.
-
tagForChildDirectedTreatmenthas been added toGADMobileAds.sharedInstance.requestConfiguration.[GADRequest tagForChildDirectedTreatment]has been deprecated. - Fixed a bug where
rewardBasedVideoAdMetadataDidChange:could be called when the metadata did not change.
- Rewarded Ads:
Added new
GADRewardedAdAPI (in open Beta), which allows loading of multiple rewarded ads concurrently. - Rewarded Ads:
Added the
admetadataproperty onGADRewardBasedVideoAd. Userewardbasedvideoadmetadatadidchange:to listen for ad metadata changes.
- Performance improvements.
- Fixed a bug where referencing
GADCustomEventParametersServerresulted in a build error. - Added the
mainImageproperty inGADMediaContentclass to set the main image asset for native ads when video is not available.
- Fixed a rendering issue for fluid ads displayed in table views.
- Added new
GADMediaContentclass to provide media content information.
- Improved compatibility with Crashlytics to provide more usable crash reports with updated stack trace symbolication.
- Fixed an issue where certain mediation adapters could report multiple impressions from the same interstitial or rewarded ad.
- Miscellaneous bug fixes.
- Miscellaneous bug fixes.
- Fixed an issue that prevented rewarded ads from loading after a new rewarded
ad is loaded inside the
rewardBasedVideoAdDidClose:delegate method. - Minimum Xcode version is now 9.2.
- Requesting a second rewarded ad while another rewarded ad is being presented
is no longer allowed. This fixes an issue in which requesting the second
rewarded ad would break several third-party mediation adapters. Another ad can
be requested after presentation is over in
rewardBasedVideoAdDidClose:. - Fixed: CocoaPod updated to reduce file size below 100 MB, allowing SDK files to be pushed to GitHub repositories.
- Native ads: Fixed an issue where video ads would sometimes not play correctly.
- Native ads:
Fixed an issue where
GADMediaViewwas empty for non-video ads. - DFP banner ads: Fixed a bug where the resize method was not behaving correctly.
- Added support for iOS 12.
- Bug fixes and performance improvements.
- Rewarded ads:
Added the
customRewardStringproperty toGADRewardBasedVideoAd, enabling publishers to pass custom data to server-side verification requests. - Native ads:
GADNativeAppInstallAd,GADNativeContentAd, and associated APIs are deprecated in favor ofGADUnifiedNativeAd. See the Native Ads Advanced Unified guide for further instructions on using the new APIs. - Native ads: Added the "Mute This Ad" feature.
- Native ads: Fixed a bug where AdChoices view was removed when reusing ad views in collection views.
- Added the
requestConfigurationproperty toGADMobileAds, which can be used to specifymaxAdContentRatingandtagForUnderAgeOfConsentparameters for all ad requests. - Mediation:
Added
maxAdContentRatingandunderAgeOfConsentproperties toGADMediationAdRequest.
-
GADNativeExpressAdViewhas been deprecated and no longer serves ads. The native express ad format has been discontinued . - Deprecated birthday and gender properties on
GADRequest.
- MRAID v3 beta version.
- Bug fixes and performance improvements.
- Fixed a bug introduced in 7.28.0 that caused graphical glitches in GameKit apps.
- Native ads: Added Unified Native Ad API. This combines
GADNativeAppInstallAdsandGADNativeContentAdsinto one new type:GADUnifiedNativeAd. For more details, see the Unified Native Ads guide . - Rewarded video: Added the
rewardBasedVideoAdDidCompletePlaying:method toGADRewardBasedVideoAdDelegateto notify publishers when a video completes. - Rewarded video mediation: Added the
connectorDidCompletePlayingRewardBasedVideoAd:method toGADMRewardBasedVideoAdConnectorDelegatefor mediation adapters to invoke when a video completes. - Native mediation: Updated
GADMediatedNativeAdDelegate.hto give adapters access to the individual views used in a native ad.Added:
-mediatedNativeAd:didRenderInView:clickableAssetViews:nonclickableAssetViews:viewController:
Deprecated:
-mediatedNativeAd:didRenderInView:viewController:
- Added support for native video mediation. Native mediation adapters
must implement the
mediaViewmethod onGADMediatedNativeAppInstallAdandGADMediatedNativeContentAdand return their media view. - Added dependencies on the
QuartzCoreandCFNetworkframeworks.
- iPhone X support.
- For full screen ads, the default close button now renders within the safe area.
- Removed the
nativeAdproperty fromGADAdChoicesViewandGADMediaView. - Limits SDK interactions with Apple's StoreServices to once per session, at app launch.
- Test ads now show a label on top of the ad. See the testing guide for more details.
- Native Mediation: Adapters now get the call to
mediatedNativeAd:didRenderInView:viewController:as soon as a native ad is associated with a native ad view, instead of waiting for that native ad view to be visible. - Native Mediation: Adapters now get a call to
mediatedNativeAdDidUntrackView:with a nil view when the tracked view gets deallocated.
- Updates the way the SDK interacts with Apple's StoreServices.
- Official release for iOS 11 support.
-
GADAdDelegatehas been removed.GADAudioVideoManagershould be used instead to manage ads audio. - Fixed an iOS 11 bug where banner views were shifted down due to content insets.
- Added a dependency on the
Securityframework.
- Mediation adapters now get notified via
mediatedNativeAd:didUntrackView:when a native ad is deallocated.
- Fixed issue where an "ad failed to load" event was not being invoked when an ad request is dropped, due to the app running in a background state.
- For interstitial ad units that are opted-out of video ads, the interstitial ads served will
have an immediate close option, even if an MRAID
creative
calls
useCustomClose. - Added text to the debug menu to indicate if creative preview or troubleshooting mode is active.
- Added the
GADMultipleAdsAdLoaderOptionsclass, which allows publishers to specify the number of ads to load for a single request. - Added the
loadingproperty toGADAdLoader, which indicates whether the ad loader is currently loading ads. - Added a new, optional delegate method
-adLoaderDidFinishLoading:toGADAdLoaderDelegate, which is invoked after aGADAdLoaderfinishes returning all of the ads for a request.
- Removed in-app purchase ad format.
- Removed armv7s architecture.
- Fixed issue where incorrect ad size was being forwarded to mediation networks for smart banner mediation.
- Added the
openInlineBrowser()method togoogle_mobile_app_ads.jsfor opening a URL in aSFSafariViewController. - Added
GADAudioVideoManagerDelegateto provide notifications for the start and pause/stop of audio and video ad playback.
- Added
play,pause, andsetMutemethods toGADVideoController. - Added new delegate methods to
GADVideoControllerDelegatecorresponding to the start, pause, end, mute and unmute of video content. - Added support for rewarded video mediation adapters to opt in to early initialization before an ad request is made.
- Added
nativeAdDidRecordImpressionandnativeAdDidRecordClicktoGADNativeAdDelegate.
- Added a video controller to
DFPBannerViewobject. -
GADNativeExpressAdView,GADNativeContentAd,GADNativeCustomTemplateAd,GADNativeContentAd, andGADNativeCustomTemplateAdvideo controller properties are now non-null. - Native Mediation: Adapters can now set the
adChoicesViewproperty onGADMediatedNativeAppInstallAdandGADMediatedNativeContentAdto render AdChoices.
- Added a
GADMediaViewproperty toGADNativeContentAdandGADNativeCustomTemplateAd.
- Moved mediation adapter headers into framework and global header.
- For the
kGADAdSizeFluidad size, changing the banner's size no longer changes the banner view's frame size.
- Added support for in-app preview and troubleshooting in Google Ad Manager.
- Added dependency on the
JavaScriptCoreframework. - Miscellaneous bug fixes.
- Corrected nullability annotations for
GADNativeAppInstallAdandGADNativeContentAd.
- Bug fixes for crashes involving
GADStringFromCGFloat. - Added
GADNativeAdViewAdOptionsto specify the location of AdChoices in native ads. - Added the
adNetworkClassNameproperty toGADRewardBasedVideoAd.
- Removed dependencies on CoreBlueooth, EventKit, and EventKitUI frameworks.
- Apps no longer need to provide text for
NSCalendarsUsageDescriptionandNSBluetoothPeripheralUsageDescriptionwhen updating apps for iOS 10. - Removed MRAID 2.0
createCalendarEventandstorePicturesupport.
- Bug fix for crashes involving
GADStringFromCGFloat.
- When associating native ads with a view, the view's
userInteractionEnabledproperty is changed toNOto match the SDK's expectations. - Added dependency on
MobileCoreServices. - Added an API to tell the ad network if the SDK version is at least major.minor.patch .
- Fixed bug affecting rewarded video mediation.
- Added GLKit, OpenGLES, CoreMotion and CoreVideo framework dependencies to improve and enhance ad rendering and quality.
- Added the
+[GADMobileAds configureWithApplicationID:]method. AdMob publishers should call this method with their application ID. - Google Ad Manager publishers who use SDK mediation will no longer get the warning "mediated ad type is unknown or invalid".
- Added SDK support for automatically using location data when a user has explicitly enabled an app's location permissions.
- Added dependency on CoreBluetooth and SafariServices frameworks.
- Added nullability annotations to the SDK's main header files for improved Swift optionals support.
- Added support for
GADAdSizeDelegatein ads with sizekGADAdSizeFluid.
- Resolved issue with Native Ad click handling in scroll views.
- Added support for rewarded video ads.
- Added support for bitcode.
While this has increased the size of the SDK download,
it will not significantly increase the size of app binaries.
To change this setting for your app,
go to your project's Build Settings
and under the Build Options
section,
set Enable Bitcode
to
Yes. - Added a dependency on the MediaPlayer framework.
You will need to link this framework to your app's binary.
If you are using CocoaPods, run
pod install --repo-update. - Removed all references to userID in reward-based video APIs.
- Calls to the
loadRequest:method forGADInterstitialare always paired with an asynchronousdidFailToReceiveAd:withError:orinterstitialDidReceiveAd:delegate call. Fixed a corner case where this contract was not upheld. - Native Mediation: Added the ability for adapters to handle and report click events.
- Search ads: Added support for dynamic height.
- Protocol methods for mediation adapters have been regrouped/moved to make them simpler.
- Corrected the capitalization of the
didFailToLoadWithErrormessage in theGADRewardBasedVideoAdDelegateprotocol.
- Bug fixes.
- Fixes crashes in
GADStatisticsCore.
- SDK no longer uses
UIApplication'scanOpenURLmethod on iOS 9 devices. - Fixes issue where
GADNativeAdDelegatemethods were not called. -
GADAdLoaderDelegate'sadLoader:didFailToReceiveAdWithErrorcallback is now called if no ad types are requested.
- Fixes a crash that occurs when the user completes an in-app purchase for a product whose identifier contains a special character.
- MRAID v2 beta version.
- Added new global settings for crash reporting and automatic in-app purchase (IAP) tracking. If automatic in-app purchase tracking is enabled, this removes the dependency on the Conversion Tracking SDK for reporting IAP conversions.
- The
adUnitIDproperty onGADInterstitialis nowreadonly. - Added APIs for reward-based video mediation.
- Deprecated
setLocationWithDescription:onGADRequest. UsesetLocationWithLatitude:longitude:accuracy:instead.
- Added support for app install and content native ad formats across AdMob, Ad Manager, and Ad Exchange.
- Added support for custom native ad formats, available for Ad Manager reservations.
- Fixed a regression introduced in 7.2.0 where smart banners displayed incorrectly in landscape on iOS 8.
- Fixes the following warning when uploading to the App Store:
The app references non-public selectors in Payload/(<app_id>):clientId,screenName,setScreenName.
- Simulators once again load live ads by default. Add
kGADSimulatorIDto thetestDevicesproperty onGADRequestto get test ads on simulators. - Added ability for mediation adapters and custom events to record clicks for interstitials.
- Added minor improvements to custom event APIs.
- Added
GADInterstitial initWithAdUnitID:and deprecatedGADInterstitial init. - Deprecated the
setValidAdSizesWithSizesmethod inDFPBannerView. UseDFPBannerView.validAdSizesinstead.
- Requires linking against
CoreMedia.framework. - Miscellaneous bug fixes.
- Dropped support for iOS 5.
- Released SDK as a framework.
- Removed dependency on the
-ObjClinker flag. - Improved ad loading time on iOS 8.
- Added
requestAgentproperty toGADRequest. Third-party integrations should set this property to denote the platform from which the request originated. - Added new
DFPRequestclass, which supports custom targeting and category exclusions. - Moved
publisherProvidedIDproperty fromDFPExtrastoDFPRequest. - Replaced
GADAdMobExtrasandDFPExtraswith a singleGADExtrasclass. - Deprecated
GADBannerView'shasAutoRefreshedproperty. - Removed the
GAD_SIMULATOR_IDmacro—test ads are automatically enabled in the simulator when usingGADBannerViewandGADInterstitial. - Removed
GADRequest'smediationExtras,additionalParameters, and testing properties. - Deprecated
GADRequest'ssetBirthdayWithMonth:day:year:. - Removed
GADRequest'saddKeyword:method. - Removed
DFPSwipeableBannerViewclass.
- Turned off bouncing for banner ads.
- Fixed crash occurring in
DumpViews.
- Official release for iOS 8 support.
- Ad loading takes less time on the main thread on iOS 8.
- Smart Banner ads are correctly displayed in landscape on iOS 8.
- Requires linking against two new frameworks:
EventKitandEventKitUI. These are auto-linked if modules and auto-linking frameworks are enabled. - Deprecated
mediatedAdViewproperty onGADBannerView. - Removed the previously deprecated
loadAndDisplayRequest:usingWindow:initialImage:method onGADInterstitial.
- Ads now default to opening in Safari instead of the in-app browser.
The creative can override this behavior by specifying
mraid.expand()oradmob.opener.openOverlay(). - Swipe gestures have been disabled on
DFPBannerView. -
DFPSwipeableBannerViewhas been deprecated in favor ofDFPBannerView.
- The
loadAndDisplayRequest:usingWindow:initialImagemethod onGADInterstitialhas been deprecated. - Unbundled analytics packages from SDK resulting in (9.6 -> 3.4)MB SDK size reduction. The analytics SDK can be downloaded here .
- The
contentURLproperty onDFPExtrashas been moved toGADRequest. - Various bug fixes.
- Dropped support for iOS 4.3. The SDK supports iOS 5.0 and higher and now provides ARC weak references.
- Added a 320x100 large banner format, with constant
kGADAdSizeLargeBanner. - Added a new interstitial format to launch in-app purchases. Set the
inAppPurchaseDelegateproperty onGADInterstitialto handle in-app purchase events.
- Improved ad targeting.
- Required to link against the
CoreTelephonyframework. - Fixed a crash that occurs when the device enters airplane mode.
- Improved performance of ads when placed inside a
UITableView. - Miscellaneous bug fixes.
- Required to link against the
AVFoundationframework. - Added support for arm64 and x86_64 architectures.
- Significantly reduced library size.
- Added
adNetworkClassNameproperty onGADBannerViewandGADInterstitial. - Fixed bug where Ad Manager app events were not firing for interstitials.
- Bundled the Ad Exchange HTML adapter directly into the library. Ad Exchange developers
no longer need to link
libAdapterHtml.aseparately.
- Fixed
GADBannerViewresizing bug. - API change for COPPA field in
GADRequest. - Passes Apple's IDFA in the ad request.
- Updated mediation warning messages for linker flag usage.
GADMRAIDInterceptor
issue.Advertising Identifier
is nil
.- Fixed
GADInterstitialcrashing when app is running in the background. - Fixed a
GADMRAIDInterceptorthreading crash. - Fixed a bug so that interstitial delegates now receive
interstitialWillLeaveApplication. - Renamed MD5 symbols to prevent duplicate symbol errors.
- Added support for receiving test ads when using AdMob through mediation.
- Test ads are only available on devices running iOS 6+.
- Removed all uses of UDID.
- Added a logging statement that provides the ID to pass to
request.testDevicesto enable test ads on a specific device. - Added support for test ads on iOS 6.
- Fixed a crash in
GADMraidInterceptor.
- Required to link against the
StoreKitframework. - Fixed a crash for when app is rotated before first mediation ad is received.
- The
-all_loadflag is no longer necessary when building for ARMv7s; the-ObjCflag is still required. - Required to link against the AdSupport framework.
- Required to use Xcode 4.5 and build against iOS 6. The minimum deployment is iOS 4.3.
- The SDK has removed ARMv6 instructions, and now includes ARMv7s instructions.
- Uses Apple's Identifier For Advertising (IDFA) for iOS 6 and UDID for versions below iOS 6.
- Various bug fixes for iOS 6.
- Compatibility of in-app browser for the taller screen of iPhone 5.
- Compatibility with autolayout for iOS 6.
- Bug fix for third-party click/impression tracking.
-
DFPBannerViewcan be created without having an initial size. Make surevalidAdSizesis set before loading a loading a request.
6.1.5: This version utilizes the universal device identifier (UDID). Apps utilizing this version must obtain appropriate user consent for sending device identifier information in compliance with relevant iOS policies.
- Fixed MRaid Interceptor crashing when accessing nil key issue.
- Publishers will need to add an
-all_loadflag when using the SDK. - Added
DFPBannerView,DFPInterstitial, andDFPExtrasobjects specifically for Ad Manager publishers. - New Ad Manager feature: Multiple ad sizes.
- New Ad Manager feature: App Events.
- Ad Manager, Search, and Mediation headers are now included in the "Add-ons" subfolder, thus no longer requiring separate downloads.
- Known issue: When using
GADBannerViewwith Interface Builder, the frame size needs to be set explicitly before loading a request.
6.1.2: This version utilizes the universal device identifier (UDID). Apps utilizing this version must obtain appropriate user consent for sending device identifier information in compliance with relevant iOS policies.
- Added frequency capping.
- Fixed some minor bugs.
6.0.4: This version utilizes the universal device identifier (UDID). Apps utilizing this version must obtain appropriate user consent for sending device identifier information in compliance with relevant iOS policies.
- Added ad network mediation.
- Mediation includes ability to mediate house ads and custom events.
- Added MRAID v1.0 support for all versions of the iOS platform.
- Deprecated
GAD_SIZE_#x#macros in favor ofGADAdSizeconstants. - Added support for full-width ads through the new
GADSizeconstants:kGADAdSizeSmartBannerPortraitandkGADAdSizeSmartBannerLandscape. -
GADRequestnow usesregisterAdNetworkExtras:to set extras. TheadditionalParametersproperty has been deprecated.
As of version 5.0.8, the iOS SDK does not reference uniqueIdentifier
.
- Removed any references made to
uniqueIdentifier, a deprecatedUIDeviceproperty. - The
testDevicesproperty has been deprecated in favor of the now un-deprecatedtestingproperty.
- Added support for additional Rich Media interstitial ad formats for iPhone and iPad. This update will be forward-compatible with all future interstitial ad formats.
- Improved interstitial impression tracking.
-
GADInterstitialhas always been a one-time-use object, but it will now gracefully fail by callingdidFailToReceiveAdWithError:on any requests to load or display an interstitial after the first request.
- Custom search ads integration.
- iOS 5.0 support.
- Faster interstitial loads.
- Modal view controller ad presentation fix.
- Fixed anchor tag behavior.
- Additionally certified on iOS 5.0 Beta 3.
-
GTMStringEncodinghas been namespaced to avoid linker collisions with other libraries. - In-app browser closes itself for misconfigured App Store ads.
- Fixed memory leaks in the SDK.
- Fixed click tracking problems with DoubleClick for Advertisers (DFA) banners.
- Fixed a couple of very rare crashes.
- Google Ad Manager official release version.
- All view controllers are properly dismissed when a close is issued from JavaScript on a view controller obscured in the stack of view controllers.
- Added support for server-provided AFMA interstitial timeouts.
- Test mode is now a enabled by white listing device IDs.
- Added a method for re-using the same UIWebView in a banner and Rich Media Overlay.
- Added device submodel to the onshow dictionary.
- Fixed memory leaks in
GADBrowserControllerandUIWebViews. - App-open interstitial view controller locks itself into portrait to remove a warning log from the console.
- Any 5xx HTTP response codes now return a "server error" instead of a "network error".

