- Bug Fixes
- Worked around iOS 15 bug where
AVAudioSessionInterruptionTypeEnded
does not trigger on app foreground.
- Worked around iOS 15 bug where
-
Features
- Changed when the close button and countdown timer are presented.
- Added InMobi, Fyber, Ogury, and Mintegral as supported networks.
-
Bug Fixes
- Fixed a crash in
MPProgressOverlayView
. - Fixed an issue where MRAID was not working correctly on iOS 15.
- Fixed a crash in
-
Features
- Added support for SKAdNetwork 2.2 including view through attribution.
- Added support for iOS Simulators on Apple Silicon Macs.
- Bumped minimum Xcode version to Xcode 12.5.
- Renamed the fullscreen
willAppear
anddidAppear
callbacks towillPresent
anddidPresent
. - Updated OMSDK to 1.3.16.
-
Bug Fixes
- Fixed an issue that prevented
SKStoreProductViewController
from being used for App Store and iTunes URLs in some cases. - Fixed an issue that could prevent consent synchronization callbacks from being invoked.
- Fixed an issue that caused an end card image to center rather than fit when too big.
- Fixed an issue that could cause an ad with an invalid reward to not be treated as a rewarded ad.
- Fixed an issue that prevented
- Bug Fixes
- Address issue with
radioAccessTechnologyString
on XCode > 12.1 - Attempted to address NSInvalidArgumentException for NSLayoutConstraint in VAST Player
- Address issue with
- Bug Fixes
- Fixed bug where users were not receiving rewards from Rewarded network ads using network adapters.
-
Features
- Rewarded ads feature and API improvements.
MPRewardedVideo
has been renamed toMPRewardedAds
. See the API reference for more details.- Removed support for the Native Video format.
- Added 5G cellular support.
- Deprecated
interstitialDidFailToLoadAd:
. UseinterstitialDidFailToLoadAd:withError:
instead. - Addressed confusion in the naming and function of the
disappear
ad lifecycle callbacks. - VAST creatives without file extensions will infer file extension from the MIME type.
- The MoPub SDK's module name has been renamed from
MoPub
toMoPubSDK
due to a limitation with Swift's ability to resolve name collisions between a module and class.
-
Bug Fixes
- Fixed bug where consent synchronization is fired twice at app launch.
- Fixed bug where the failure callback was not fired when a mediated adapter does not exist.
- Fixed bug where the
SKAdNetwork
time stamp was parsed asintegerValue
instead oflongLongValue
. - Fixed bugs related to unintentional initialization of the consent manager when the MoPub SDK not been initialized.
-
Features
- The MoPub iOS SDK now includes Swift 5.
- Updated countdown animation background color to black for better visibility.
- Enforce HTTPS for base URLs.
- Removed native video support.
- Add support for Snap Audience Network.
-
Bug Fixes
- Fixed bug where app foregrounding was requesting a new banner ad instead of resuming the refresh timer.
- Fixed bug with animated GIFs in VAST end cards.
- Fixed bug with scheduled deallocation of HTML Viewability trackers.
- Fixed
SKStoreProductViewController
causing freezes on iOS 13.0 and 13.1 devices. - Fixed bug where attempting to instantiate a mediation adapter that does not exist at runtime will not fire the failure callback.
- Bug Fixes
- Fixed a bug where delegate methods
interstitialWillDisappear:
,interstitialDidDisappear:
,rewardedVideoAdWillDisappearForAdUnitID:
, andrewardedVideoAdDidDisappearForAdUnitID:
did not fire.
- Fixed a bug where delegate methods
-
Features
- Add beta support for OMSDK version 1.3.4.
- iOS14 support for
SKAdNetwork
,ATTrackingManagerAuthorizationStatus
, and location changes. - Support Pangle as a certified mediation network.
- Remove Mintegral as a certified mediation network.
- Bump minimum Xcode version to Xcode 12.
-
Bug Fixes
- Cleaned up the MoPub Xcode project to properly mark files as public or private.
- Fixed a bug where an ad may become frozen when
SKStoreProductViewController
is shown. - Fixed a multithreaded crash in
MPVastModel
. - Fixed a bug where videos slightly longer than 15 seconds were skippable. Videos with duration less than 16 seconds are considered unskippable.
- Bug Fixes
- Fixed bug with where mediated network rewards were given back instead of the selected reward.
-
Features
- Remove Moat and IAS measurement SDKs.
- Consolidate interstitials and rewarded ads into one container. Third party network adapters for these formats should now extend
MPFullscreenAdAdapter
and conform toMPThirdPartyFullscreenAdAdapter
. - Upped the minimum version to iOS 10.
-
Bug Fixes
- Various bug fixes.
- Fixed multithreading crash in
MPTimer
due to null reference exception. - Fixed bug where interstitial ads returning from
SKStoreProductViewController
are accidentally closed. - Fixed bug where VAST companion ad clickthrough trackers were fired even when no clickthrough URL was spcified.
- Fixed bug where 302 redirects from https sources were not followed to the end of the redirect chain.
- Bug Fixes
- Fixed banner click trackers not firing for mediated networks that do not use MoPub's auto click tracking.
-
Features
- Location setters for all formats are marked deprecated and will be removed in a future release.
- Added Mintegral as a supported network.
- A new field
appVersion
has been added toMPImpressionData
. - Update the Sample app to 64-bit architectures only.
- Added ad load history to the Saved Ads section in the Sample app.
-
Bug Fixes
- Fixed potential multithreading crash in
MPAdServerURLBuilder
.
- Fixed potential multithreading crash in
-
Features
- Update GDPR logic to allow MoPub to reacquire consent for new vendors.
- Update our support for OpenRTB Native Ads to version 1.2 and add an optional
sponsored
text field for native ads. - Removed deprecated custom event method
requestAdWithSize:customEventInfo:
inMPBannerCustomEvent
,requestInterstitialWithCustomEventInfo:
inMPInterstitialCustomEvent
,requestRewardedVideoWithCustomEventInfo:
inMPRewardedVideoCustomEvent
, andrequestAdWithCustomEventInfo:
inMPNativeCustomEvent
.
-
Bug Fixes
- Fixed non-native SDK target compilation error.
- Fixed potential deadlock in
MPConsentManager
when schedulingMPTimer
. - Fixed potential crash in
MPTableViewAdPlacer
andMPCollectionViewAdPlacer
.
-
Features
- Added support for the Verizon native ad renderer.
- Deprecated base custom event
requestAd
calls without theadMarkup
parameter.
-
Bug Fixes
- Fixed non-native SDK target compilation error.
- Fixed potential crash in
MPTableViewAdPlacer
andMPCollectionViewAdPlacer
. - Removed extraneous
NSLog
statements for Release build configuration. - Fixed VAST error code macro replacement in tracking URLs.
-
Features
- Add iOS 13 support to both SDK and MoPub Sample app.
- Totally remove
UIWebView
implementation and comments in MoPub SDK and MoPub Sample app. - Add multi-window support for MoPub Sample app in iPadOS 13. New window can be opened by Drag & Dropping an ad cell in the ad list.
- Remove support for
tel
andsms
functions for MRAID ads. - Add Dark Mode support for MoPub Sample app in iOS 13.
- Remove the Objective C sample app project.
- Adopt
XCFramework
and the new Xcode build system with fastlane script updates, and thus require Xcode 11 to build instead of Xcode 9. - Remove deprecated VAST extension
MoPubViewabilityTracker
. - Replace deprecated
MPMoviePlayerViewController
withAVPlayerViewController
. This affects MRAID videos. - Replace deprecated
UIAlertView
withUIAlertViewController
.
-
Bug Fixes
- Update
MPRealTimeTimer
so that it can properly handle foreground notifications that aren't balanced with backgrounding notifications. - Fix an assertion crash in GDPR Sync that only happens in debug builds.
- Present
SKStoreProductViewController
only in portrait mode, so that we can prevent aSKStoreProductViewController
crash in landscape mode (as designed by Apple). - Fix an infinite load ad bug that happens when the ad URL to retry is the same as the failed ad URL.
- Fix a bug where location information is not sent to Ad Server when location permission has been allowed, the app can collect PII, and no app-specified location is set.
- Update
-
Features
- Minimum version of the MoPub SDK bumped to iOS 9.
- StoreKit Improvement: New Apple URL schemes for apps.apple.com, books.apple.com, and music.apple.com are now parsed for
SKStoreProductViewController
. - StoreKit Improvement: Affiliate token and campagin token are now parsed for
SKStoreProductViewController
. - Existing banner constants are deprecated in favor of new, configurable height-based constants. To use these,
MPAdView
's frame must be set before an ad load is attempted. - Updated
MPAdView
'sinitWithAdUnitId:size:
,loadAd
, andadViewDidLoadAd:
APIs by providing overloadsinitWithAdUnitId:
,loadAdWithMaxAdSize:
, andadViewDidLoadAd:adSize:
which move the requested ad size to load time instead of at initialization time. SFSafariViewController
is now exclusively used for in-app clickthrough destinations.- Disallow the sending of empty ad unit IDs for consent.
-
Bug Fixes
- iOS 13 fixes: Explicitly set
modalPresentationStyle
for all modals in the MoPubSDK toUIModalPresentationFullSCreen
since iOS 13 beta 1 changed the default modal presentation behavior. - Fixed occasional crash due with
MPTimer
by ensuring it is always run on the main runloop. - Fixed bug where banner and medium rectangle auto refresh timer was being fired even if the refresh interval was zero.
- Fixed bug where updated ad targeting parameters were not sent when banners were auto refreshing.
- Fixed a bug where the
UIButton+MPAdditions
category was impacting allUIButton
s in the app. MoPub-specificUIButton
customization is now contained in a subclass.
- iOS 13 fixes: Explicitly set
-
Features
- Impression Level Revenue Data can now be received via a notification
-
Bug Fixes
- Fixed occasional crash due to multithreading bug
-
Features
- Impression Level Revenue Data: A data object that includes revenue information associated with each impression
- Verizon Ads SDK now supported as a mediated network
- Native ad renderer registration for FacebookNativeCustomEvent and MillennialNativeCustomEvent is removed from the SDK. Pubishers must register renderers in their app.
-
Bug Fixes
- Fixed bug where native video fires an impression when main image asset is missing
- Fixed MRAID off-screen compliance for resized ads on tablets
- Fixed crash in Canary App when tapping on the
+
on iPad - Replaced deprecated usage of
openURL:
withopenURL:options:completionHandler:
for iOS10+ - Fixed bug where click trackers can fire more than once on HTML banners and HTML interstitials
- Fixed bug in Canary App where ad units that were read using the QR code reader were not being saved
- Fixed bug where GDPR consent dialog was allowed to be presented twice in a row
-
Features
- Added
+
button to the Canary sample app allowing manual entry of custom ad units
- Added
-
Bug Fixes
- MRAID orientation, expansion, and resizing edge case bug fixes
- MRAID expansion will no longer trigger a click tracking event
- MRAID logging no longer spams the device console
- Fixed position bug of the Rewarded Video countdown timer when rotating the device after the ad loads
-
Features
- Advanced Bidding automatically initializes
- GDPR legitimate interest API now available; publishers may opt into allowing supported networks to collect user information on the basis of legitimate interest.
- We now distribute separate frameworks for simulator, device, and universal architectures
-
Bug Fixes
- Fixed rewarded video state occasionally not being reset correctly upon load failure
- Tweaked MRAID
ready
event timing so that it's in-spec - Canary test app improvements and bug fixes
- Bug Fixes
- Changed the MoPubSampleApp+Framework target to MoPubSampleApp in the Objective-C Sample App.
- Fixed crash when
MPTableViewAdPlacer
makes multiple ad requests within a short amount of time. - Fixed bug with the internal state of rewarded video when the video fails to play.
-
Features
- SDK distribution as a dynamic framework is now available.
- Local extras are now supported for all ad formats.
-
Bug Fixes
- HTTP error codes now include the localized error description.
- Added missing mraid.js file protections when showing MRAID ads.
- Fixed native video crash.
- Fixed native ad timeout timer invalidation.
- Features
- Laying the foundation for platform optimization work that enables the SDK to receive multiple ad responses per ad request, reducing the number of round trips between the server and the client required to fill the requests.
-
Features
- SDK initialization is required for ads to load.
- Added callback to the consent dialog when it is dismissed.
-
Bug Fixes
- Synchronized access to shared
NSMutableDictionary
inMPHTTPNetworkSession
. - Video ads using Device orientation now appear aligned correctly on iPhone X.
- Synchronized access to shared
- Features
- Updated
MPReachability
to be IPv6 compliant. - Allow publishers to determine which users should be treated as GDPR compliant users through the new API
forceGDPRApplicable
. - Alert a publisher (through logs) when they are trying to use the new GDPR consent flow without being whitelisted.
- Banner refresh will only occur after an impression.
- Updated
-
Features
- General Data Protection Regulation (GDPR) update to support a way for publishers to determine GDPR applicability and to obtain and manage consent from users in European Economic Area, the United Kingdom, or Switzerland to serve personalize ads.
- New SDK initialization method to initialize consent management and rewarded video ad networks. Required for receiving personalized ads. In future versions of the SDK, initialization will be required to receive ads.
- Updated the networking stack to use
NSURLSession
in place of the deprecatedNSURLConnection
. - Updated ad requests to use POST instead of GET.
-
Bug Fixes
- Renamed the
/MoPubSDK/Native Ads/
folder to/MoPubSDK/NativeAds/
. - Removed the usage of deprecated
shouldAutorotateToInterfaceOrientation
.
- Renamed the
- Bug Fixes
- Fixes compatibility issues with some fullscreen ads on iPhone X
-
Bug Fixes
- Fixed ad expiration check for rewarded ad formats
-
Ad Network Mediation Updates
- Network mediation adapters are now in a separate repository to enable an independent release cadence and faster updates to the adapters. Please find the new location here.
-
Bug Fixes
- Ensure proper viewability initialization before ad content is loaded
- Fire appropriate error delegate when rewarded video ad view is not ready to be shown
- Resolve video playback sizing issue when creative MoPubForceOrientation is set to "Device"
- Resolve WKWebView sizing and alignment issues on iPhoneX
-
Ad Network Mediation Updates
- Certified Facebook Audience Network 4.26.1
- Certified Flurry 8.1.0
- Added support for Millennial/AOL Rewarded Video adapters for 6.6.0
-
Features
- iPhone X compatibility improvements including moving the close button into safe area.
-
Bug Fixes
- Fixed a bug with unspecified rewarded video currencies.
- Fixed C99 compilation bug.
-
Ad Network Mediation Updates
- AdColony 3.2.1
- AdMob 7.24.1
- AOL 6.6.0 (formerly Millennial)
- Chartboost 7.0
- Facebook Audience Network 4.26.0
- Tapjoy 11.11.0
- Unity Ads 2.1.1
- Vungle 5.3.0
- Features
- Rewarded videos can now optionally pass back custom data to the publisher's reward server.
- Updated the minimum iOS version of the SDK to iOS 8.
- Update Facebook adapter with non whitespace clickable policy.
- Features
- Added viewability support for Integral Ad Science (IAS) and Moat, two of the leading independent viewability measurement providers
- To disable this feature, see note below on Disabling Viewability Measurement.
- New app launch rewarded video initialization method for mediated network SDKs
- Added viewability support for Integral Ad Science (IAS) and Moat, two of the leading independent viewability measurement providers
- Bug Fixes
- Fixed native video crash caused by empty VAST tracking event
- Prevent interstitials from firing clicks without user interaction
There are a few options for opting out of viewability measurement:
Before dragging the MoPubSDK folder into your Xcode project, simply delete the “Moat” folder to opt out of Moat or the “Avid” folder to opt out of IAS in MoPubSDK/Viewability/. If you would like to opt out of both, delete both folders.
Including pod 'mopub-ios-sdk'
in your Podfile will include both IAS and Moat SDKs, as well as the MoPub SDK. In order to opt out:
pod 'mopub-ios-sdk/Avid'
will include the IAS SDK, but not the Moat SDK, as well as the MoPub SDK.pod 'mopub-ios-sdk/Moat'
will include the Moat SDK, but not the IAS SDK, as well as the MoPub SDK.pod 'mopub-ios-sdk/Core'
will only include the MoPub SDK, with viewability measurement totally disabled.
Make sure to run pod update
once your Podfile is set up to your preferences.
If you would like to opt out of viewability measurement but do not want to modify the MoPub SDK, a function is provided for your convenience. As soon as possible after calling [[MoPub sharedInstance] start]
, call [[MoPub sharedInstance] disableViewability:(vendors)]
. In place of “(vendors)”, MPViewabilityOptionIAS
will disable IAS but leave Moat enabled, MPViewabilityOptionMoat
will disable Moat but leave IAS enabled, and MPViewabilityOptionAll
will disable all viewability measurement.
MoPub v4.16 SDK integrates technology from our partners Integral Ad Science, Inc. (“IAS”) and Moat, Inc. (“Moat”) in order to support viewability measurement and other proprietary reporting that IAS and Moat provide to their advertiser and publisher clients. You have the option to remove or disable this technology by following the opt-out instructions above.
If you do not remove or disable IAS's and/or Moat’s technology in accordance with these instructions, you agree that IAS's privacy policy and license and Moat’s privacy policy, terms, and license, respectively, apply to your integration of these partners' technologies into your application.
- Bug Fixes
- Updated Facebook Audience Network banner and interstitial impression tracking
- Allow taps to pass through the gradient overlays for rewarded videos
-
Features
- For Rewarded ads, the client-side callback will now be invoked when using server-side rewarding.
- Non-mediated interstitial, rewarded, and native ad placer ads will expire within 4 hours.
-
Bug Fixes
- Fix old custom events that use the wrong native renderer.
- Replace usage of typeof with typeof for C99 and C11 compliance.
- Fix CFBridgingRetain casting bug.
- Native ad impression tracker will now fire while scrolling.
- Fix HTML click tracker to fire when using window.location and window.open.
- Bug Fixes
- Fixed compile error in the MoPub Base SDK Excluding Native bundle.
-
Features
- Added support for mediation of Google AdMob rewarded video demand (Google Mobile Ads SDK v7.19.0).
- Google AdMob native ads mediation is now generally available (Google Mobile Ads SDK v7.19.0).
- Updated the Tapjoy network mediation adapter to support Tapjoy SDK v11.10.0
-
Bug Fixes
- Introduced additional preventative measures to improve creative quality.
-
Features
- Rewarded ad units now support rich media.
- Allow MoPub static native renderer to render Flurry native ads.
- Removed size limit for native ad main images.
-
Bug Fixes
- Native video selection logic now filters by supported MIME types.
- Ad placer now supports section count.
- Fix CFStringRef variable initialization.
- App Transport Security Updates
- Checks for "NSAllowsArbitraryLoadsInMedia" were changed to "NSAllowsArbitraryLoadsForMedia", per updated Apple documentation
- Resolves issue in which explicitly using NSAllowsArbitraryLoadsForMedia or NSAllowsArbitraryLoadsInWebContent causes HTTP clickthroughs not to resolve on iOS 10.1 or higher
- The MoPub SDK now uses WKWebView to display ads when possible. Backwards compatibility for old OS versions is retained using UIWebView.
- Native video start tracker now fires immediately upon successful video playback.
- Bug fixes
- Native ads and native video ads now correctly fire impression trackers while scrolling.
- Bug fixes
- Fixed iOS 10 bug that causes SKStoreProductViewController to crash if the app does not list portrait as a supported orientation.
- Certified FAN 4.15.1
- Certified Chartboost 6.5.2
- Certified Yahoo 7.6.4
- Certified TapJoy support for 11.8.2
- Certified Millennial support for 6.3.1
- Certified Vungle 4.0.6
- Bug fixes
- Added support for the CocoaPods use_frameworks! directive
- iOS 10 compatibility updates
- Fixed an issue related to screen bounds calculation
- Removed EventKit, EventKitUI frameworks and a few files related to EventKit and MRAID image downloader
- Please completely remove the MoPub SDK from your project and re-integrate this version to ensure that files are properly removed from your project
- Modular SDK - publishers can download the base or base excluding native SDK package
- Removed the full SDK bundle
- iOS 10 compatibility updates
- Rotating frequency capping ID for non-targeted ads under 'Limit Ad Tracking' setting
- Removed save picture and save to calendar MRAID functionality
- Removed iAd and InMobi adapters
- Added Cocoapods module name: "MoPub"
- Bug fixes
- Fixed an issue when multiple rewarded videos are loaded at the same time
- renamed MPError enums to avoid possible naming conflict with MediaPlayer framework errors.
- Rewarded video server-side currency rewarding (Beta).
- Certified Chartboost version 6.4.0
- Certified Tapjoy version 11.5.1
- Bug fixes
- Fixed resource loading issues when using cocoapods and frameworks
- bitcode support for MoPub Fabric Kit
- Rewarded video support from the MoPub Marketplace (Beta)
- Bug fixes
- The SDK now correctly sends matched modal presented/dismissed callbacks on clickthrough
- Enabled SSL ad requests by default
- Bug fixes
- Fixed native video impression tracking
- Made closeable hot spot consistent across all full-screen creative types
- Minor SDK improvements.
- Upgraded Facebook SDK support to 4.8.0.
- Facebook Audience Network custom events for native and native video automatically display Facebook's AdChoices icon.
- Added mediation support for Facebook video.
- Bug fixes
- Added mp prefix to common constants.
- Fixed minor issue with video resuming during background to foreground transitions.
- Fixed minor issue generating the 'mute' video status event.
- Added MoPub prefixes to constants and category methods.
- Certified Tapjoy 11.2.2.
- Certified Vungle 3.2.0.
- Minimum supported iOS version is now 6.0.
- Updated native ad integration APIs.
- Improved native ad placer caching and request logic.
- Clicks are now automatically tracked for native ads that use the manual integration.
- Removed deprecated classes.
- Removed legacy custom event classes deprecated in 1.10.
- Removed MPTableViewAdManager class deprecated in 3.0.
- Added iOS 9 support.
- Added Privacy Information icon support for MoPub native ads.
- GA of rewarded video ad mediation.
- Added mediation support for AdColony, Chartboost, Vungle, and Unity rewarded video ads.
- Updated Millennial Media custom events (Millennial Media SDK 6.0+ only).
- Minor improvements.
- Bug fixes.
- didDismissInterstitial is now called when the dismiss animation has completed.
- Added VAST 3.0 standard support for video ads.
- Improved video player UX.
- Improved error messages.
- Improved deep link handling.
- Bug fixes.
- Fixed clickthrough behavior for MRAID ads that use iframes.
- Minor improvements.
- Added iAd medium rectangle ad support.
- Certified Google AdMob SDK version 7.1.0.
- Certified Greystripe SDK version 4.4.0.
- Certified Vungle SDK version 3.0.13.
- Added click callback support.
- Bug fixes.
- Addressed a race condition when receiving location updates after calling -
[MPGeolocationProvider disableLocationUpdates:]
.
- Addressed a race condition when receiving location updates after calling -
- Bug fixes.
- Fixed crash caused by some MRAID ads attempting to set an orientation that the app doesn't support.
- Deprecated custom event class methods and constants for setting ad network parameters.
- Changed banner minimum refresh time interval to 10 seconds.
- Greystripe custom events now accept parameters configured using app.mopub.com.
- Certified Facebook SDK Version 3.21.1.
- Bug fixes.
- Fixed MRAID force orientation command for MRAID interstitials.
- Fixed interstitial bug where sound and video would continue to play after dismissal.
- MRAID 2.0 support. The MoPub SDK is now compliant with the MRAID 2.0 specification to enable rich media ads in banners and interstitial ad units. Learn more about MRAID from the IAB. To minimize integration errors, please completely remove the existing MoPub SDK from your project and then integrate the latest version.
- Automatic geolocation updates. If your app already has location permissions, the MoPub SDK will automatically attempt to acquire location data for ad requests. Please use
locationUpdatesEnabled
inMoPub.h
to opt out of this functionality. The MoPub SDK will never prompt the user for permission if location permissions are not currently granted. - Added support for AdColony SDK 2.4.12.
- Bug fixes.
- Fixed displaying previously cached Chartboost interstitials.
- Fixed crash caused by refreshing Facebook banners after click.
- Fixed iAd interstitial dismissed callback on iOS 8
- Fixed HTML interstitial duplicate click trackers
- We have launched a new license as of version 3.2.0. To view the full license, visit http://www.mopub.com/legal/sdk-license-agreement/
- Updated native mediation framework to support Facebook Audience Network SDK 3.18.2
- If you're directly using
MPNativeAd
, you should implement theMPNativeAdDelegate
protocol found inMPNativeAdDelegate.h
and set the delegate property on yourMPNativeAd
instance.
- If you're directly using
- Added convenience methods to
MPTableViewAdPlacer
andMPCollectionViewAdPlacer
that default to using server-controlled native ad positioning+ (instancetype)placerWithTableView:viewController:defaultAdRenderingClass:(Class)defaultAdRenderingClass;
+ (instancetype)placerWithCollectionView:viewController:defaultAdRenderingClass:(Class)defaultAdRenderingClass;
- Fixed compiler error in
MPDiskLRUCache.m
ifOS_OBJECT_USE_OBJC
is false
- The MoPub SDK now uses Automatic Reference Counting
- Swift support: to use the MoPub SDK in your Swift project, simply import
MoPubSDK/MoPub-Bridging-Header.h
to your project and ensure the Objective-C Bridging Header build setting under Swift Compiler - Code Generation has a path to the header. - Updated Chartboost custom event (Chartboost SDK 5.0.1)
- Bug fixes
- mraid.js will reject mraid calls until the SDK signals it is ready
- banner ads will pause autorefresh when the app enters the background and resume autorefresh when the app enters the foreground
As of version 3.0.0, the MoPub SDK uses Automatic Reference Counting. If you're upgrading from an earlier version (2.4.0 or earlier) that uses Manual Reference Counting, in order to minimize integration errors with the manual removal of the -fno-objc-arc
compiler flag, our recommendation is to completely remove the existing MoPub SDK from your project and then integrate the latest version. Alternatively, you can manually remove the -fno-objc-arc
compiler flag from all MoPub SDK files. If your project uses Manual Reference Counting, you must add the -fobjc-arc
compiler flag to all MoPub SDK files.
- Simplified native ads integration: integration instructions and documentation are available on the GitHub wiki
- Updated Vungle custom event (Vungle SDK 3.0.8)
- Optional method
- (void)interstitialDidReceiveTapEvent:
added toMPInterstitialAdControllerDelegate
- Hardened native ad custom events against invalid image URLs
- MoPub base SDK is now 64-bit compatible (Please check mediated networks for 64-bit support)
- Certified support for InMobi 4.4.1, Greystripe/Conversant 4.3, and AdMob 6.9.3
- Additional measures to prevent autoloading deep-links without user interaction for banners
- Bug fixes
- A cached Millennial Media interstitial will be correctly loaded
- Fixed crash if the close button is quickly tapped after tapping an MRAID interstitial
- Native ads mediation: integration instructions and documentation are available on the GitHub wiki. Facebook and InMobi native ads may be mediated using the MoPub SDK.
- Native ads content filtering: Added the ability to specify which native ad elements you want to receive from the MoPub Marketplace to optimize bandwidth use and download only required assets, via
MPNativeAdRequestTargeting.desiredAssets
. This feature only works for the six standard Marketplace assets, found inMPNativeAdConstants.h
. Any additional elements added in direct sold ads will always be sent down in the extras. - Added star rating information to the
MPNativeAd
object, viaMPNativeAd.starRating
. This method returns anNSNumber
(double value) corresponding to an app's rating on a 5-star scale. - Bug fixes
- Handle Millennial Media SDK's
MillennialMediaAdWillTerminateApplication
notification - Ensured that banners never autorefresh until they have been loaded at least once
- Handle Millennial Media SDK's
- Improved user privacy protection
- Device identifiers are removed from logging output
- Improved user protection against auto-dialing ads
- Prompt user for confirmation when a
tel
URL is encountered
- Prompt user for confirmation when a
- Updated Millennial Media custom events (Millennial Media SDK 5.2+ only)
- Updated Vungle custom event (Vungle SDK 2.0+ only)
- Fixed Millennial Media SDK 5.2 banner custom event failover
- Added support for MoPub Native Ads. Please view the integration wiki here.
- Updated the minimum required iOS version to iOS 5.0
- Removed
TouchJSON
dependency.TouchJSON
files may be removed from your project.
- Removed
- AdColony Custom Event
- Supports AdColony as a custom native ad network for interstitial videos. Note that V4VC (virtual currency reward) is currently not supported.
- Handle ISO Latin-1 site encoding in addition to UTF-8
- Bug fixes
- Updated Chartboost custom event (Chartboost SDK 4.0+ only)
- Bug fixes
- Fixed iOS 7 bug where certain interstitial images may fail to load
- Updated InMobi custom events (InMobi SDK 4.0.3+ only)
- Bug fixes
- MRAID viewable property now correctly updates on app background and resume
- MRAID command urls are no longer re-encoded for processing
- Sample app improvements
- Improved manual ad unit entry view
- Save manually entered ad unit ids
- Ability to enter keywords for each ad unit
- Bug fixes
- MRAID
isViewable
command now correctly returns a boolean value
- MRAID
- Creative Controls
- Creative Flagging
- Important:
MPAdAlertGestureRecognizer
andMPAdAlertManager
classes as well asMessageUI.framework
must be added to your project to enable flagging functionality. - Allows users to report certain inappropriate ad experiences directly to MoPub with a special gesture.
- User must swipe back and forth at least four times within the ad view to flag a creative.
- Swipes must cover more than ⅓ of the ad width and must be completely horizontal.
- Only works for direct sold, Marketplace, and server to server ad network ads.
- Important:
- Blocked Popups
- Javascript alert, confirm, and prompt dialogs are blocked.
- Blocked Auto-redirects
- Ads that automatically redirect users to another page without user interaction are automatically blocked.
- Creative Flagging
- MoPub Video Pre-caching
- Video ads from the Marketplace will be pre-cached automatically and videos will not be shown until they can play without additional buffering.
- Simple Ads Demo Improvements
- 300x250 and 728x90 test spots added to the demo app.
- Vungle Custom Event
- Supports Vungle as a custom native ad network for interstitial videos.
- SKStoreProductViewController iOS 7 Orientation Crash Fix
- Fixes iOS 7 bug that causes SKStoreProductViewController to crash if the app does not list portrait as a supported orientation.
- Log more readable message in response to the "no ads available" server error.
- Updated mraid.getVersion() to return 2.0
- MRAID commands now properly handle encoded URLs.
- iOS 7 Gold Master support
- Verified compatibility with latest Millennial iOS SDK (5.1.1)
- Updated support for InMobi SDK version 4.0
- Bug fixes
- Important: As of version 1.14.0.0, the InMobi custom events packaged with the MoPub SDK only support InMobi version 4.00 and up. Follow the instructions here to integrate InMobi version 4.00 and up. If you would like to continue to use a prior version of the InMobi SDK, do not update the custom event files and follow the instructions here to integrate.
- Fixed an issue causing certain interstitials to be incorrectly centered or sized
- Updated the SDK bundle to include the Millennial Media 5.1.1 SDK
- Added support for creating calendar events, storing pictures, and video playback via MRAID APIs
- Fixed a rendering issue with HTML interstitials on iOS 5
- Fixed crashes resulting from delegate callbacks being executed on deallocated objects
-
Third-party ad network integrations are now implemented as custom events instead of adapters.
Please remove any old adapters from your code and use the new custom events located in the
AdNetworkSupport
folder instead. -
Added support for Millennial SDK 5.0
-
Updated Chartboost integration to honor the location parameter (configurable via the server)
-
Updated Custom Events API.
If you have implemented a Custom Event, please read the Custom Events documentation and update your code appropriately.
- The MoPub SDK now requires iOS 4.3+
- Removed all references to
[UIDevice uniqueIdentifier]
- Added support for opening iTunes links in an
SKStoreProductViewController
- Added session tracking
- Added numerous data signals (wireless connectivity, location accuracy, bundle version, telephony information) to ad requests
- Added test coverage to MoPub SDK
- Added .zip archive distribution options with bundled third party network SDKs. Learn more at the updated wiki.
- Added appledoc style Class Documentation
- Updated the MoPub Sample Application
- Updated to support Millennial SDK 5.1.0
- Fixed warnings resulting from duplicate category methods
- Fixed a crash occurring when an interstitial was tapped and dismissed immediately afterwards
- Fixed a memory leak when displaying MRAID ads
- Fixed inconsistency between ad request user agent and click-handling user agent
- Fixed crashes that occur when banners are deallocated in the process of displaying modal content
- Fixed issue causing expanded MRAID banner ads to obscure modal content
- Fixed issue in which impressions were not tracked properly for MRAID banner ads
- Added new API methods on
MPAdView
for managing ad refresh behavior (-startAutomaticallyRefreshingContents
and-stopAutomaticallyRefreshingContents
) - Deprecated
ignoresAutorefresh
property onMPAdView
- Fixed issue causing banners from custom HTML networks to be improperly sized
- Updated the SDK bundle to include the Millennial Media 5.0.1 SDK
- Fixed some leaks reported by the static analyzer
- Fixed issue causing a crash for legacy custom event methods
- Fixed issue causing refresh timer to not be scheduled properly on connection errors
- Updated the sample Chartboost custom event to avoid improperly setting the Chartboost delegate to nil in -dealloc
- Introduced custom event classes
- Fixed issue causing metrics-recording URLs to be incorrect when certain ad sources fail
- Fixed issue causing interstitials to be sized incorrectly when the status bar changes state
- Fixed issue preventing loading indicator from being dismissed properly for HTML interstitials
- Fixed issue that allows the browser controller to continue loading after it has been dismissed
- Added 'testing' property on
MPAdView
andMPInterstitialAdController
- Increased accuracy of iAd impression tracking
- Added support for iOS 6 and the new iPhone 5 screen size
- Added support for the Facebook ads test program
- Added support for
ASIdentifierManager
(UIDevice.identifierForAdvertising
replacement) - Re-introduced UDID as a fall-back identifier on earlier iOS ## Versions (with an opt-out mechanism)
- Fixed issues with redirecting certain native iOS URLs (e.g. itunes.apple.com) in the in-app browser
- Fixed an issue in which an interstitial might not dismiss properly when leaving an app via a click
- Updated the SimpleAdsDemo sample app for iOS 6
- Added clarity to certain console log entries
- Added some minor visual improvements to the click progress indicator
- Fixed a crash in
MPAdManager
due to uncanceled NSURLConnections - Fixed an issue with mraid://open URL decoding
- Fixed an issue in which third-party interstitials could block the display of subsequent HTML interstitials
- Fixed an issue in which third-party interstitials could trigger lifecycle callbacks after expiration
- Added iOS 6 view controller auto-rotation methods to
MPInterstitialAdController
- Added support for iOS 6 advertising identifier
- Removed references to
-[UIDevice uniqueIdentifier]
and OpenUDID - Added runtime checks for
CALayer
andUIActionSheet
selectors to prevent crashes on iOS 3.1 - Improved the Millennial interstitial adapter to handle all return values from
-checkForCachedAd
- Improved click experience to avoid blank screens when loading pages with many redirects
- Fixed an issue in which
MPAdView
would implicitly change its 'hidden' property - Fixed an issue in which the in-app browser failed to dismiss properly upon
-[UIApplication openURL:]
- Fixed issues in which the
MRAID.isViewable
method would erroneously return true - Fixed a divide-by-zero exception which occurred when presenting MRAID interstitials
- Added new API method for displaying an interstitial (
-showFromViewController:
) - Added new delegate property on
MPInterstitialAdController
- Deprecated old API method for displaying an interstitial (
-show:
) - Deprecated parent property on
MPInterstitialAdController
- Deprecated various callbacks in
MPInterstitialAdControllerDelegate
- Added support for Millennial Media SDK 4.5.5
- Modified Millennial Media interstitial adapter to be more robust to ad display failures
- Reduced the amount of logging messages regarding autorefresh
- Modified JSON deserializer to avoid getting NSNull objects
- Fixed issue in which interstitials could appear blank upon repeated show: calls
- Removed call to deprecated
SKMutablePayment
class method - Added APIs for enabling and disabling the in-app purchase transaction observer
- Fixed a memory leak in
MPInterstitialAdController
- Added support for OpenUDID as a optional replacement for
UIDevice's -uniqueIdentifier
- Fixed a bug in which landscape interstitials appeared off-center on iOS 5.0+
- Fixed some static analyzer warnings in
MPAdManager
andMPAdBrowserController
- Fixed a memory leak in
MPAdConversionTracker
- Changed '***CLEAR***' message to 'No ad available' for clarity
- Added support for Millennial Media leaderboard ads
- Changed behavior of
-setIgnoresAutorefresh:
to pause (rather than cancel) existing timers - Added support for interstitial custom events