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:
Native ads: Fixed a bug where
GADMediaContent.mainImage returned nil even though the image rendered
successfully in a GADMediaView.
Ad inspector's out of context native ads now have media views.
Deprecated the following fields in GADMediationAdConfiguration:
Removed bitcode from the 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 GADQueryInfo to support Signals Collection and Rendering.
Updated documentation for audio APIs.
Bug fixes and performance improvements.
Official release for iOS 16 support.
Added the following properties to GADAdNetworkResponseInfo:
Added the following property to GADResponseInfo:
Bug fixes and performance improvements.
Rewarded mediation: Deprecated didRewardUserWithReward:
in GADMediationRewardedAdEventDelegate in favor of
didRewardUser. The ad reward provided by
didRewardUserWithReward: has always been a no-op, with the
ad reward value coming from the ad unit settings in the
Added the loadedAdNetworkResponseInfo property to GADResponseInfo, returning information about the ad network that loaded the ad.
Added the adSourceInstanceID property to GADAdNetworkResponseInfo.
The Mobile Ads SDK will disable transmission of the Advertising
Identifier (IDFA) when the
is called with forChildDirectedTreatment: true (see
is called (see
under the age of consent setting).
Updated the SDK from a .framework to a
.xcframework. CocoaPods 1.9.0 or higher is now required for
Removed arm64e from the distribution. Local testing on arm64e will no
longer be available.
Added Ad Inspector Beta.
Fixed a bug where the rootViewController of
GADNativeCustomTemplateAd retains 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 neighboringContentURLStrings property to
Added APIs for the GADRewardedInterstitialAd format. 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
Banner Ads: Added the
adViewDidRecordImpression: delegate method to
Requires apps to build against Xcode 11.0 or higher.
Rewarded Ads: The customRewardString
property can now be set any time before a GADRewardedAd is
shown. Previously, this property needed to be set prior to loading an
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.
Rewarded Ads: Fixed a bug where apps using the old rewarded video
APIs (e.g., GADRewardBasedVideoAd) saw impression drops in
Improved logging messages when apps improperly configure their app ID in
Fixed a rendering bug in interstitial and rewarded video app install
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
GADNativeAppInstallAd and GADNativeContentAd APIs.
Apps should use unified
Native Ads: Fixed a bug where the native ad returns a
nil media view and aspect ratio of zero even though it has video
Mediation: Fixed a crash that occurs when mediation adapters fire
multiple success/failure callbacks for the same request.
Open Measurement: Updated to OMID SDK 1.2.15.
Fixed a crash that occurs on rare occasions when dismissing video ads.
Updated the rewardedAdMetadataDidChange callback to not be
called when metadata is nil.
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 the Google Mobile Ads SDK is explicitly called.
Removed GADCorrelator and its associated APIs. This feature
was previously non-functional.
The preferredImageOrientation property in
GADNativeAdImageAdLoaderOptions is deprecated. Use
Updated the minimum required iOS version to 8.0.
Open Measurement: Updated to OMID SDK 1.2.13.
Open Measurement: Added support for custom native ad formats.
Native Ads: Added videoController and
hasVideoContent properties to
Native Ads: Deprecated videoController in
GADUnifiedNativeAd, and hasVideoContent and
aspectRatio methods in GADVideoController.
Native ads: Added the
GADNativeAdMediaAdLoaderOptions class with an
aspectRatio property, enabling publishers to request a
specific aspect ratio for a native ad's media asset. This option takes
precedence over the preferredImageOrientation
property in GADNativeAdImageAdLoaderOptions.
Native Ads:GADMediaView now respects the
contentMode property 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
See the Quick
Start guide for more information.
SDK framework size reduced to below GitHub limits.
tagForChildDirectedTreatment has been added to
[GADRequest tagForChildDirectedTreatment] has been
Fixed a bug where rewardBasedVideoAdMetadataDidChange:
could be called when the metadata did not change.
Rewarded Ads: Added new
API (in open Beta), which allows loading of multiple rewarded ads
Rewarded Ads: Added the admetadata property on
rewardbasedvideoadmetadatadidchange: to listen for ad
Fixed a bug where referencing GADCustomEventParametersServer
resulted in a build error.
Added the mainImage property in GADMediaContent
class to set the main image asset for native ads when video is not
Fixed a rendering issue for fluid ads displayed in table views.
Added new GADMediaContent class 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:
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
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
Native ads: Fixed an issue where GADMediaView was empty
for non-video ads.
DFP banner ads: Fixed a bug where the resize method was not behaving
Added support for iOS 12.
Bug fixes and performance improvements.
Rewarded ads: Added the customRewardString property to
GADRewardBasedVideoAd, enabling publishers to pass custom data to
server-side verification requests.
GADNativeContentAd, and associated APIs are deprecated in favor of
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 requestConfiguration property to GADMobileAds, which can be used
to specify maxAdContentRating and tagForUnderAgeOfConsent parameters for all ad
Mediation: Added maxAdContentRating and underAgeOfConsent properties to
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.
GADAdDelegate has been removed. GADAudioVideoManager should 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 Security framework.
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
Added text to the debug menu to indicate if creative preview or troubleshooting mode is active.
Added the GADMultipleAdsAdLoaderOptions class, which allows
publishers to specify the number of ads to load for a single request.
Added the loading property to GADAdLoader,
which indicates whether the ad loader is currently loading ads.
Added a new, optional delegate method -adLoaderDidFinishLoading: to
GADAdLoaderDelegate, which is invoked after a
GADAdLoader finishes 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 to
google_mobile_app_ads.js for opening a URL in a
Added GADAudioVideoManagerDelegate to provide notifications for the
start and pause/stop of audio and video ad playback.
Added play, pause, and
setMute methods to GADVideoController.
Added new delegate methods to GADVideoControllerDelegate
corresponding 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 nativeAdDidRecordImpression and
Added a video controller to DFPBannerView object.
video controller properties are now non-null.
Native Mediation: Adapters can now set the adChoicesView
property on GADMediatedNativeAppInstallAd and
GADMediatedNativeContentAd to render AdChoices.
Added a GADMediaView property to GADNativeContentAd and GADNativeCustomTemplateAd.
Moved mediation adapter headers into framework and global header.
For the kGADAdSizeFluid ad 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
Miscellaneous bug fixes.
Corrected nullability annotations for GADNativeAppInstallAd
Bug fixes for crashes involving GADStringFromCGFloat.
Added GADNativeAdViewAdOptions to specify the location
of AdChoices in native ads.
Added the adNetworkClassName property to GADRewardBasedVideoAd.
Removed dependencies on CoreBlueooth, EventKit, and EventKitUI frameworks.
Apps no longer need to provide text for NSCalendarsUsageDescription and NSBluetoothPeripheralUsageDescription when updating apps for iOS 10.
Removed MRAID 2.0 createCalendarEvent and storePicture support.
Bug fix for crashes involving GADStringFromCGFloat.
When associating native ads with a view, the view's
userInteractionEnabled property is changed to NO to
match the SDK's expectations.
Added dependency on MobileCoreServices.
Added an API to tell the ad network if the SDK version is at least
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 GADAdSizeDelegate
in ads with size kGADAdSizeFluid.
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
for GADInterstitial are always paired with
an asynchronous didFailToReceiveAd:withError:
or interstitialDidReceiveAd: delegate call.
Fixed a corner case where this contract was not upheld.
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
didFailToLoadWithError message in the
Fixes crashes in GADStatisticsCore.
SDK no longer uses UIApplication's
method on iOS 9 devices.
adLoader:didFailToReceiveAdWithError callback 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 adUnitID property on GADInterstitial is now
Added APIs for reward-based video mediation.
Deprecated setLocationWithDescription: on GADRequest.
Use setLocationWithLatitude: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 kGADSimulatorID to the testDevices property on GADRequest to 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 deprecated GADInterstitial init.
Deprecated the setValidAdSizesWithSizes method in DFPBannerView. Use DFPBannerView.validAdSizes instead.
Requires linking against CoreMedia.framework.
Miscellaneous bug fixes.
Dropped support for iOS 5.
Released SDK as a framework.
Removed dependency on the -ObjC linker flag.
Improved ad loading time on iOS 8.
Added requestAgent property to GADRequest.
Third-party integrations should set this property to denote the platform from
which the request originated.
Added new DFPRequest class, which supports
custom targeting and category exclusions.
Moved publisherProvidedID property from
DFPExtras to DFPRequest.
Replaced GADAdMobExtras and DFPExtras with
a single GADExtras class.
Swipe gestures have been disabled on DFPBannerView.
DFPSwipeableBannerView has been deprecated in favor of
method on GADInterstitial has been deprecated.
Unbundled analytics packages from SDK resulting in (9.6 -> 3.4)MB SDK
size reduction. The analytics SDK can be downloaded
The contentURL property on DFPExtras has
been moved to GADRequest.
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
Added a new interstitial format to launch in-app purchases. Set the
inAppPurchaseDelegate property on GADInterstitial
to handle in-app purchase events.
Improved ad targeting.
Required to link against the CoreTelephony framework.
Fixed a crash that occurs when the device enters airplane mode.
Improved performance of ads when placed inside a UITableView.
Miscellaneous bug fixes.
Fixed some memory leaks when using mediation.
Required to link against the AVFoundation framework.
Added support for arm64 and x86_64 architectures.
Significantly reduced library size.
Added adNetworkClassName property on GADBannerView and
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.a separately.
Hides the status bar for full-screen views on iOS 7.
Fixed GADBannerView resizing bug.
API change for COPPA field in GADRequest.
Passes Apple's IDFA in the ad request.
Updated mediation warning messages for linker flag usage.
Fix for recurring GADMRAIDInterceptor issue.
Fixed a crash that occurred when the Advertising Identifier is nil.
Fixed GADInterstitial crashing when app is running in the background.
Fixed a GADMRAIDInterceptor threading 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.testDevices to 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 StoreKit framework.
Fixed a crash for when app is rotated before first mediation ad is received.
The -all_load flag is no longer necessary when building for ARMv7s; the -ObjC flag 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.
DFPBannerView can be created without having an initial size.
Make sure validAdSizes is 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_load flag when using the SDK.
Added DFPBannerView, DFPInterstitial, and
DFPExtras objects 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 GADBannerView with 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
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 of GADAdSize constants.
Added support for full-width ads through the new GADSize
constants: kGADAdSizeSmartBannerPortrait and
GADRequest now uses registerAdNetworkExtras:
to set extras. The additionalParameters property has been deprecated.
As of version 5.0.8, the iOS SDK does not reference uniqueIdentifier.
Removed any references made to uniqueIdentifier,
a deprecated UIDevice property.
The testDevices property has been deprecated in favor of
the now un-deprecated testing property.
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.
GADInterstitial has always been a one-time-use object,
but it will now gracefully fail by calling didFailToReceiveAdWithError:
on any requests to load or display an interstitial after the first request.
Fix oversized buttons on retina displays in in-app browser.