- Bug fixes and performance improvements.
- Placement IDs are now correctly sent for native ad requests.
- Expanded support for adjustable window sizes on iOS 26 iPads.
- 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
AVAudioSession
that 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
audioSessionIsApplicationManaged
API to change the default behavior.
- Resolved an issue preventing custom clicks on custom native video ads.
- Resolved a crash related to
SKOverlay
dismissal in Unity apps. - The unmute native ad button now unmutes the device, even if the device
is in silent mode. Use the
audioSessionIsApplicationManaged
API 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.
- The SDK no longer forwards extra parameters passed through
registerAdNetworkExtras:
to Ad Manager as Custom targeting parameters. To set custom targeting, usecustomTargeting
instead. For more information, See Custom targeting . - Many previously deprecated APIs have been removed.
- Inline adaptive ads
:
- Calling
CGSizeFromGADAdSize(_:)
with an inline adaptive ad size now returns0
height 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
customTargeting
dictionary onGADRequest
now usesAny
instead ofString
as the value type.
- The
- Optimized video ad memory allocation to prevent resource overload, reducing
AVErrorMediaServicesWereReset
errors and improving playback stability.
- Fixed an issue where
GADFullScreenContentDelegate
methods 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
GADMediationInterscrollerAd
and-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
OSLog
with 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
GADVideoControllerDelegate
play and pause callback.
- Deprecated
GADQueryInfo
APIs. For generating query information, use+[GADMobileAds generateSignal:completionHandler:]
instead.
- 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
isCollapsible
property toGADBannerView
to check if a returned banner is collapsible. - The
userInteractionEnabled
status 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 LLC
using team IDEQHXZ8M8AV
. If this triggers a notice in Xcode, select “Accept Change” to accept the new identity.
- Added the
adUnitID
property 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.plist
to work around a Swift Package Manager issue on Xcode 15.3. - Ad Inspector
: Added support for displaying
.plist
information 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
adView
symbol 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
:
-
UIViewController
references 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
isTesting
APIs:GADMediationAdConfiguration.isTestRequest
andGADCustomEventRequest.isTesting
now 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
GADCustomEvent
APIs. UseGADMediationAdapter
APIs instead.
- Added the
publisherPrivacyPersonalizationState
property for the Publisher Privacy Treatment API (Beta). - Deprecated
GADAdFormatUnknown
.
- Deprecated the
childDirectedTreatment
property inGADMediationAdConfiguration
. UseGADMobileAds.sharedInstance.requestConfiguration.tagForChildDirectedTreatment
instead.
- 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
testDeviceIdentifiers
API. 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 atagForChildDirectedTreatment
read-write property. - GADRequestConfiguration:
Deprecated the
tagForUnderAgeOfConsent:
method and added atagForUnderAgeOfConsent
read-write property. - Deprecated
sdkVersion
. UseversionNumber
instead. - 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
GADQueryInfo
object.
- 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.
- An Ad Manager app ID is now required for all Ad Manager apps. The
ID is in the form:
ca-app-pub-################~##########
. See Update your Info.plist for more details. -
GoogleAppMeasurement.xcframework
is now required for all Ad Manager apps. - Removed the following already deprecated fields:
-
userBirthday
-
userGender
-
userHasLocation
-
userLatitude
-
userLocationAccuracyInMeters
-
userLocationDescription
-
userLongitude
-
- Native ads
: Fixed a bug where
GADMediaContent.mainImage
returnednil
even 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
GADQueryInfo
to 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:
inGADMediationRewardedAdEventDelegate
in 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 Ad Manager UI. - Ad inspector : Added SDK support for exporting ad requests.
- Added the
loadedAdNetworkResponseInfo
property toGADResponseInfo
, returning information about the ad network that loaded the ad. - Added the
adSourceInstanceID
property 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
extern
withFOUNDATION_EXPORT
across 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
adDidPresentFullScreenContent
instead of the neweradWilllPresentFullScreenContent
inGADFullScreenContentDelegate
- Bug fixes and performance improvements.
- Deprecated the constant
kGAMSimulatorID
inGAMRequest
. UseGADSimulatorID
inGADRequestConfiguration
instead. - Deprecated the
credentials
property inGADAdNetworkResponseInfo
. Use the newadUnitMapping
property 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
kGAD
prefix. Use those withGAD
prefix 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 theGADRequest
object 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
keywords
type toNSArray<NSString *>
inGADRequest
.
- Deprecated the
mediaView
property inGADCustomNativeAd
. Instead, use the newmediaContent
property of the same class. - Fixed a bug where video mute / unmute delegate callbacks did not get invoked for bidding native ads.
- Updated the
kGAMSimulatorID
type fromid
toNSString*
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
SKAdNetwork
conversion 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_xcconfig
settings.
- Added additional
SKAdNetwork
support in preparation forAppTrackingTransparency
enforcement. - Removed a
UIWindowScene
macro definition only needed in Xcode versions prior to 11.
- Deprecated
disableAutomatedInAppPurchaseReporting
andenableAutomatedInAppPurchaseReporting
. IAP reporting has been removed from the SDK. These methods are now no-ops. - Added flags to reduce SDK access to
CTTelephonyNetworkInfo
APIs.
- 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
adapterVersion
in theGADMediationAdapter
protocol had conflicts withNSObject
in 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
styleID
parameter toGADDynamicHeightSearchRequest
. - Added the
-adDidRecordImpression:
callback toGADFullScreenContentDelegate
for fullscreen beta formats. - Added support for the
NSUserDefaults
gad_has_consent_for_cookies
. Google Mobile Ads SDK will enable limited ads (LTD) when thegad_has_consent_for_cookies
preference 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.tag
is 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
.framework
to 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 the Native Ad Policy Validator.
- Added Ad Inspector Beta.
- Fixed a bug where the
rootViewController
ofGADNativeCustomTemplateAd
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 toGADRequest
. - 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 notches.
- Banner Ads:
Added the
adViewDidRecordImpression:
delegate method toGADBannerViewDelegate
.
- Requires apps to build against Xcode 11.0 or higher.
- Deprecated the
GADInstreamAd
format. - 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
responseInfo
property toGADNativeAd
and deprecated theadNetworkClassName
property. - Added a
sdkVersion
property toGADMobileAds
and deprecated thesdkVersion
method inGADRequest
.
- App Open Ads:
Changed
GADAppOpenAd
to be a full screen format. App open ads are currently in private beta. Reach out to your account manager to request access. - Native ads:
Added the
mediaContent
property and deprecated thevideoController
property onGADNativeCustomTemplateAd
. - 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
dictionaryRepresentation
property toGADResponseInfo
to enable easier logging of response info. - Removed the
DFPCustomRenderedAd
class, an unused ad format class that apps shouldn't reference.
- Rewarded Ads
: Modified
serverSideVerificationOptions
property ofGADRewardedAd
to bestrong
instead ofcopy
. - Implemented the
description
method onGADResponseInfo
andGADAdNetworkResponseInfo
for 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
adNetworkInfoArray
property 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
GADRewardedAd
issue 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
disableAutomatedInAppPurchaseReporting
andenableAutomatedInAppPurchaseReporting
instance methods onGADMobileAds
and deprecated thedisableAutomatedInAppPurchaseReporting
class method. CalldisableAutomatedInAppPurchaseReporting
prior to initializing the Google Mobile Ads SDK or loading ads to disable automated IAP reporting. - Added the
disableMediationInitialization
method 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 typeNSString
for the error instead ofNSError
.
- Removed all references to
UIWebView
.UIWebView
is 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_privacy
string.
- Renamed the
kGADErrorAppIDMissing
error 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
GADBlockSignalSource
memory leak that occurred when loading ads. - Native Mediation
: Removed
GADMediatedNativeAppInstallAd
andGADMediatedNativeContentAd
. - Native Mediation:
Added
duration
andcurrentTime
properties 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
currentTime
andduration
properties toGADMediaContent
. - Added
mediaContent
property toGADInstreamAd
and removedvideoController
,duration
,currentTime
, andaspectRatio
properties. - Added the anchored adaptive banner API Beta .
- 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
scene
property onGADRequest
to receive appropriately sized ads. - Removed
SKStoreProductViewController
subclass, which is disallowed on iOS 13. - Resolved Apple warning during app store submission about deprecated API usage.
- Added
testRequestIdentifiers
property toGADMobileAds.requestConfiguration
. Deprecated thetestDevices
property onGADRequest
. - Deprecated the
kGADErrorMediationNoFill
error code. All no fill errors now return thekGADErrorNoFill
error code. - Rewarded Ads:
The
customRewardString
property can now be set any time before aGADRewardedAd
is 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
GADNativeAppInstallAd
andGADNativeContentAd
APIs. Apps should use unified native ads . - Native Ads:
Fixed a bug where the native ad returns a
nil
media 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
rewardedAdMetadataDidChange
callback to not be called when metadata isnil
.
- Official release for App Measurement support.
- Open Measurement: Updated to OM SDK 1.2.14.
- Removed
GADCorrelator
and its associated APIs. This feature was previously non-functional. - The
preferredImageOrientation
property inGADNativeAdImageAdLoaderOptions
is deprecated. UseGADNativeAdMediaAdLoaderOptions
instead.
- 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
videoController
andhasVideoContent
properties toGADMediaContent
. - Native Ads:
Deprecated
videoController
inGADUnifiedNativeAd
, andhasVideoContent
andaspectRatio
methods inGADVideoController
. - Native ads:
Added the
GADNativeAdMediaAdLoaderOptions
class with anaspectRatio
property, enabling publishers to request a specific aspect ratio for a native ad's media asset. This option takes precedence over thepreferredImageOrientation
property inGADNativeAdImageAdLoaderOptions
. - Native Ads:
GADMediaView
now respects thecontentMode
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
GADIsAdManagerApp
. See the Quick Start guide for more information. - SDK framework size reduced to below GitHub limits.
-
tagForChildDirectedTreatment
has 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
GADRewardedAd
API (in open Beta), which allows loading of multiple rewarded ads concurrently. - Rewarded Ads:
Added the
admetadata
property onGADRewardBasedVideoAd
. Userewardbasedvideoadmetadatadidchange:
to listen for ad metadata changes.
- Performance improvements.
- Fixed a bug where referencing
GADCustomEventParametersServer
resulted in a build error. - Added the
mainImage
property inGADMediaContent
class 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
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:
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
GADMediaView
was 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
customRewardString
property 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
requestConfiguration
property toGADMobileAds
, which can be used to specifymaxAdContentRating
andtagForUnderAgeOfConsent
parameters for all ad requests. - Mediation:
Added
maxAdContentRating
andunderAgeOfConsent
properties toGADMediationAdRequest
.
-
GADNativeExpressAdView
has 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
GADNativeAppInstallAds
andGADNativeContentAds
into one new type:GADUnifiedNativeAd
. For more details, see the Unified Native Ads guide . - Rewarded video: Added the
rewardBasedVideoAdDidCompletePlaying:
method toGADRewardBasedVideoAdDelegate
to notify publishers when a video completes. - Rewarded video mediation: Added the
connectorDidCompletePlayingRewardBasedVideoAd:
method toGADMRewardBasedVideoAdConnectorDelegate
for mediation adapters to invoke when a video completes. - Native mediation: Updated
GADMediatedNativeAdDelegate.h
to 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
mediaView
method onGADMediatedNativeAppInstallAd
andGADMediatedNativeContentAd
and return their media view. - Added dependencies on the
QuartzCore
andCFNetwork
frameworks.
- iPhone X support.
- For full screen ads, the default close button now renders within the safe area.
- Removed the
nativeAd
property fromGADAdChoicesView
andGADMediaView
. - 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
calls
useCustomClose
. - 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 toGADAdLoader
, which indicates whether the ad loader is currently loading ads. - Added a new, optional delegate method
-adLoaderDidFinishLoading:
toGADAdLoaderDelegate
, which is invoked after aGADAdLoader
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 togoogle_mobile_app_ads.js
for opening a URL in aSFSafariViewController
. - Added
GADAudioVideoManagerDelegate
to provide notifications for the start and pause/stop of audio and video ad playback.
- Added
play
,pause
, andsetMute
methods toGADVideoController
. - 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
andnativeAdDidRecordClick
toGADNativeAdDelegate
.
- Added a video controller to
DFPBannerView
object. -
GADNativeExpressAdView
,GADNativeContentAd
,GADNativeCustomTemplateAd
,GADNativeContentAd
, andGADNativeCustomTemplateAd
video controller properties are now non-null. - Native Mediation: Adapters can now set the
adChoicesView
property onGADMediatedNativeAppInstallAd
andGADMediatedNativeContentAd
to render AdChoices.
- Added a
GADMediaView
property toGADNativeContentAd
andGADNativeCustomTemplateAd
.
- 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 Manager.
- Added dependency on the
JavaScriptCore
framework. - Miscellaneous bug fixes.
- Corrected nullability annotations for
GADNativeAppInstallAd
andGADNativeContentAd
.
- Bug fixes for crashes involving
GADStringFromCGFloat
. - Added
GADNativeAdViewAdOptions
to specify the location of AdChoices in native ads. - Added the
adNetworkClassName
property toGADRewardBasedVideoAd
.
- Removed dependencies on CoreBlueooth, EventKit, and EventKitUI frameworks.
- Apps no longer need to provide text for
NSCalendarsUsageDescription
andNSBluetoothPeripheralUsageDescription
when updating apps for iOS 10. - Removed MRAID 2.0
createCalendarEvent
andstorePicture
support.
- Bug fix for crashes involving
GADStringFromCGFloat
.
- When associating native ads with a view, the view's
userInteractionEnabled
property is changed toNO
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 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
GADAdSizeDelegate
in 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 forGADInterstitial
are 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
didFailToLoadWithError
message in theGADRewardBasedVideoAdDelegate
protocol.
- Bug fixes.
- Fixes crashes in
GADStatisticsCore
.
- SDK no longer uses
UIApplication
'scanOpenURL
method on iOS 9 devices. - Fixes issue where
GADNativeAdDelegate
methods were not called. -
GADAdLoaderDelegate
'sadLoader: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 onGADInterstitial
is 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
kGADSimulatorID
to thetestDevices
property onGADRequest
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 deprecatedGADInterstitial init
. - Deprecated the
setValidAdSizesWithSizes
method inDFPBannerView
. UseDFPBannerView.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 toGADRequest
. 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 fromDFPExtras
toDFPRequest
. - Replaced
GADAdMobExtras
andDFPExtras
with a singleGADExtras
class. - Deprecated
GADBannerView
'shasAutoRefreshed
property. - Removed the
GAD_SIMULATOR_ID
macro—test ads are automatically enabled in the simulator when usingGADBannerView
andGADInterstitial
. - Removed
GADRequest
'smediationExtras
,additionalParameters
, and testing properties. - Deprecated
GADRequest
'ssetBirthdayWithMonth:day:year:
. - Removed
GADRequest
'saddKeyword:
method. - Removed
DFPSwipeableBannerView
class.
- 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:
EventKit
andEventKitUI
. These are auto-linked if modules and auto-linking frameworks are enabled. - Deprecated
mediatedAdView
property 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
. -
DFPSwipeableBannerView
has been deprecated in favor ofDFPBannerView
.
- The
loadAndDisplayRequest:usingWindow:initialImage
method onGADInterstitial
has 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
contentURL
property onDFPExtras
has 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
inAppPurchaseDelegate
property onGADInterstitial
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.
- Required to link against the
AVFoundation
framework. - Added support for arm64 and x86_64 architectures.
- Significantly reduced library size.
- Added
adNetworkClassName
property onGADBannerView
andGADInterstitial
. - 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.
- 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.
GADMRAIDInterceptor
issue.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 surevalidAdSizes
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
, andDFPExtras
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 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 ofGADAdSize
constants. - Added support for full-width ads through the new
GADSize
constants:kGADAdSizeSmartBannerPortrait
andkGADAdSizeSmartBannerLandscape
. -
GADRequest
now usesregisterAdNetworkExtras:
to set extras. TheadditionalParameters
property has been deprecated.
As of version 5.0.8, the iOS SDK does not reference uniqueIdentifier
.
- Removed any references made to
uniqueIdentifier
, a deprecatedUIDevice
property. - The
testDevices
property has been deprecated in favor of the now un-deprecatedtesting
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 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.
-
GTMStringEncoding
has 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
GADBrowserController
andUIWebViews
. - 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".