Version 7.25.0 October 28nd, 2024API level 19+
- - The Smart Display SDK is now compatible with Android 15 and its now enforced edge-to-edge UI mode.
- - The
SASNativeAdMediaView
video player for native ads containing video asset has controls that overlap Android 15 system bars and cutouts.
- - a new interstitial ad can now be loaded directly using the
loadAd()
method directly from the onInterstitialAdDismissed()
listener method.
Version 7.24.0 May 29th, 2024API level 19+
- - Implement customer feedback button on all ad formats.
- - Updated support to the IAB Open Measurement SDK 1.4.12.
- - Migrate to gradle 8.
- - Migrate from
exoplayer2
to androidx.media3
.
- - Fix a potential NPE when back button is pressed while a
SASBannerView
is loading.
- - Fix a potential ANR when
loadAd
is called on a SASBannerView
while it is already loading.
- - Improve IAS measurement / viewability tags support.
- - MRAID useCustomClose feature is not supported anymore.
Version 7.23.1 February 22nd, 2024API level 19+
- - Fixed a crash introduced by IAB GPP specification change from 1.0 to 1.1
Version 7.23.0 September 22nd, 2023API level 19+
- - The Smart Display SDK is now compatible with Android 14.
- - Added safety fix preventing random rare expand crashes on interstitials
Version 7.22.0 July 20th, 2023API level 19+
- - Added support for IAB Seller Defined Audiences.
- - Updated IAB OMSDK dependency to 1.4.6 version.
Version 7.21.0 April 12th, 2023API level 19+
- - Added support for IAB Global Privacy Platform (GPP).
- - Privacy: the user's location is not sent if the SDK does not have GPP consent
Version 7.20.2 March 15th, 2023API level 19+
- - The geo location was not available for the first ad call after application start.
Version 7.20.1 March 9th, 2023API level 19+
- - The Display SDK now depends on the latest Google Play Services Location library 21.0.1, which contains an API breaking change that induced a crash with Display SDK version 7.20.0 and earlier. Note that Play Services 21.0.1 is now mandatory in the application importing the Display SDK, and must not be downgraded to avoid crashes.
Version 7.20.0 January 25th, 2023API level 19+
- - The SDK is now certified for IAB Open Measurement SDK 1.4.
- - Fix a bug that was preventing Open Measurement's
sessionFinished
event for banners in some cases.
Version 7.19.1 October 21st, 2022API level 19+
- - Enhance cache capabilities of Smart Display SDK configuration.
- - Disabled unnecessary cookie management for non ad related network calls to prevent possible ANR.
Version 7.19.0 September 29th, 2022API level 19+
- - The Smart Display SDK In-App Bidding as primary SDK is now compatible with native-ad format.
- - The Smart Display SDK is now compatible with Android 13.
- - The HLS video format is now supported.
- - Fix UI bug on video ad format.
- - When available, location is now passed to In-App Bidding ad calls.
- - Fix possible NPE when quitting rewarded video ad.
- - Remove legacy interstitial's options "stretch to fit", "transfert touch event" and "close button position".
Version 7.18.0 June 20th, 2022API level 19+
- - available user location in application is not automatically used for targeting purposes anymore, this setting needs to be explicitly enabled. See more in the integration guide.
Version 7.17.0 March 17th, 2022API level 19+
- - updated ExoPlayer dependency to 2.15.1 version, ensuring compatibility with 2.17. 2.14 version is not supported anymore.
- - updated OkHttp library dependency to 4.9.0.
- - updated IAB OMSDK dependency to 1.3.30
- - Fixed possible NPE when displaying a transparency report popup while the ad was destroyed.
- - Fixed random Application Not Responding issue on Samsung devices due to Android Webview cookie management interference.
- - Fixed random Application Not Responding issue happening when retrieving Google Advertising Id while performing an ad call.
- - Fixed DiskReadViolation reported by strict mode policy enforcement.
- - Fixed a crash coming from Open Measurement SDK when loading invalid VAST file with no duration.
- - Fixed UI glitch when bringing an ad view showing a completed video to foreground, displaying a loader as if the video was stuck trying to play again.
Version 7.15.1 January 4th, 2022API level 19+
- - Fixed potential null pointer exception crash due to race condition when resetting or destroying an ad view while trying to display a mediation ad.
Version 7.15.0 December 15th, 2021API level 19+
- - The SDK is now certified for IAB Open Measurement SDK 1.3.23.
- - Added support for VAST 4 macros.
- - Client side GDPR handling: device identifiers will only be sent if consent has been granted by the user, a specific keyword will be added to all ad calls for non consented users.
- - Fixed Open Measurement missing events.
- - Fixed UI bug of VPAID banner.
- - Fixed wrong behavior of interstitial and banner video with autoplay option off.
Version 7.14.0 October 4th, 2021API level 19+
- - Creation of
SASNativeAdElement.OnClickListener
to replace the SASNativeAdElement.ClickHandler
deprecated with the 7.10.0 version.
- - The Smart Display SDK is now compatible with Android 12.
- - The support of Huawei devices is not included by defaut. More information in the integration guide and the migration guide.
- - The Smart Display SDK is now compatible with ExoPlayer version 2.14.x
- - The Smart Display SDK is now compatible with OMSDK version 1.3.23.
- - For rewarded videos format, the user is now warned if he’s about to lose a reward when skipping the video ad.
- - The banner parallax format is now MRAID compliant.
- - Fixed possible NPE when receiving native-ad mediation ads.
- - MRAID custom features
sasRequestScreenCapture
and sasReceiveScreenCapture
have been removed.
Version 7.12.0 June 16th, 2021API level 19+
- - Added a Video-Read option to play the video until complete once it has been started.
- - Added a new parallax mode.
- - Better 'transparency report' interface.
- - Clicking on a VPAID ad sometimes not ended with a redirection. This behavior have been fixed.
- - VPAID ads stop ignoring the viewability before starting.
- -
SASInterstitialListener
callbacks requires @NonNull SASAdElement
, but a null
value was returned sometimes, causing crashes especially on Kotlin apps.
Version 7.10.0 April 27th, 2021API level 19+
- - Added possibility to pass a Custom ID, using method
setCustomIdentifier
, along with AAID (if available).
- - Added
setContentURL
method on SASAdPlacement
object to allow the publisher define the content URL corresponding to the app content, this will be used for categorization.
- - Added
setMediationExtraParameters
method on SASAdPlacement
object to allow the publisher to pass extra parameters (as Map) from app integration to mediation adapters.
- - Added new adloaded tracking pixel, for HTML5 ad, it will be fired once the ad markup is loaded in the webview, or for Video ad when the media has been preloaded and ready to start.
- - Added
getRatio
method on SASBannerView
object, this ratio could be useful to resize your Banner view once it's loaded, for example inside onBannerAdLoaded
listener method.
Please note, if you prefer, you can still rely on existing getOptimalHeight
method.
- - A lot of APIs have been annotated with
@NonNull
and @Nullable
annotation. More details in the migration guide.
- - Video Read scrubber has been removed and replaced by a yellow progress bar.
- - Deprecation of the
SASNativeAdElement.ClickHandler
interface.
- - Fixed crash if device user-agent have non-ascii character.
- - Mediated Interstitial display is now possible if the passed
Context
is not an Activity
.
- - Disabled open measurement tracking for Parallax format (work as intended)
Version 7.8.1 December 14th, 2020API level 19+
- - Fixed NPE related to our ExoPlayer usage.
Version 7.8.0 November 6th, 2020API level 19+
- - Support of new VAST 4 tracking events.
- - Support of
<ViewableImpression>
node in VAST files (VAST 4 compliancy).
- - Support of
<AdVerification>
node in VAST files (VAST 4 compliancy). Open Measurement now works with VAST files using the <AdVerification>
node.
- - The SDK is now compatible and certified for IAB Open Measurement SDK 1.3.10.
- - Added support for Exoplayer 2.12.x library.
- - Viewability counting has been improved for video ads for better MRC compliancy.
- - SDK classes are now compiled using AndroidX libraries.
- - Removed 'allowBackup' and 'supportsRtl' Application attributes that were unintentionally enforced by the Smart Display SDK.
- - Fixed a crash occurring on video ads due to incompatibilty with Exoplayer 2.12.x.
- - Fixed a crash occurring when special regex characters like {} were present in a third party tracking script.
- - Fixed a rare crash occurring when clicking on an interstitial being auto-closed.
- - Fixed a rare crash when playing video ads occurring when the size of the video is not available while the player is ready to play.
- - Fixed a non clickable close button that was sometimes added on top of a creative handling its own close button.
- - Fixed Exoplayer warnings about threading issues when playing video ads.
Version 7.6.2 October 29th, 2020API level 19+
- - Fixed SecurityException crash during ad calls on Android 11 devices due to new Android permission enforcement.
- - Fixed rare crash when trying to submit a transparency report while the ad is closing
Version 7.6.1 June 16th, 2020API level 19+
- - In rare cases of a rapid click on an ad, the viewability tracking pixel could be fired twice.
Version 7.6.0 May 20th, 2020API level 19+
- - Third party in-app bidding competition through Keywords representation of the bidder price.
- - CCPA & TCF v2 strings are now supported by the SDK (if both TCF v1 and TCF v2 are present, only hte v2 will be used).
- - A SupplyChain Object can now be provided as parameter to a SASAdPlacement instance.
- - Compatibility with all Huawei devices. The Smart Display SDK will use the Huawei services API when available instead of the Google services API for advertising Id and location.
- - When your application starts, a log message informs you whether it is built using the latest Smart SDKs or if there is a more recent release available.
- - New
OnViewCrashListener
and OnManagerCrashListener
listener classes respectively on SASAdView
and SASInterstitialManager
to handle crashes that can occur on internal WebViews.
- - The SDK base URL is now automatically retrieved by the SDK when the configuration method is called. Check the migration guide for more information.
Version 7.4.1 April 17th, 2020API level 19+
- - Fixed a crash occuring when displaying parallax creatives in banners integrated in a list view, such as RecyclerView.
Version 7.4.0 February 13th, 2020API level 19+
- - Stop using a deprecated Google Location API and use FusedLocationProvider instead.
- - GDPR consent strings are now forwarded in the ad call even if invalid.
- - IAB Open Measurement SDK updated to version 1.3.1
- - Fixed: An Ad call can be unjustifiably cancelled by a previous ad call timeout timer
Version 7.3.2 January 30nd, 2020API level 19+
- - Malformed cookies could lead to a crash in the OkHttp network stack.
Version 7.3.1 January 2nd, 2020API level 19+
- - Smart Display SDK now enforces ExoPlayer dependency requirement by throwing a RuntimeException if it is missing.
- - Some interstitial creatives were not properly displayed at application start due to late interstitial view size initialization.
- - Click urls using a deep link legacy custom scheme (of type myapp://) will make the application crash if the responding application is not installed.
- - A shared synchronization lock could lead to Application Not Responding (ANR) issues while trying to retrieve the Google Advertising ID.
Version 7.3.0 November 15th, 2019API level 19+
- - In-App Bidding support through the new SASBiddingManager class.
- - Fixed an issue preventing some interstitials from being closed after they have been tapped by the user.
Version 7.2.1 October 16th, 2019API level 19+
- - Fixed a crash occuring in complex multiple touch interactions with ad views.
- - Fixed a race condition crash that could occur when destroying an ad view processing an ad call.
Version 7.2.0 September 12th, 2019API level 19+
- - Improve compatibility with Android 10.
- - Fixed a crash occurring when clicking on an interstitial that was loaded from a SASInterstitialManager created with a non-Activity Context.
Version 7.1.2 August 20th, 2019API level 19+
- - Fixed a potential race condition crash when destroying SASInterstitialManager instances.
Version 7.1.1 August 1st, 2019API level 19+
- - Fixed a bug that could cause a crash on 0.1% of programmatic ads.
Version 7.1.0 July 9, 2019API level 19+
- - IAB Open Measurement SDK support.
- - Ad format checking (for ads using updated templates).
- - Support for custom privacy URL in native ads.
- - In app malicious ads reporting using a double long press gesture.
- - Video playback now relies on ExoPlayer library.
- - Fixed the Unfold format not displaying properly.
- - Fixed an issue with video playback on One Plus devices.
- - Fixed issues with close button appearance.
- - Video playback does not stop anymore when collapsing a video read banner.
- - Ads will not autoclose anymore when the app is in background.
- - Fixed some crashes.
- - The
setPreDrawListenerEnabled()
method has been removed from SASAdView
.
Version 7.0.5 May 02nd, 2019API level 19+
- - Fix potential application crash when migrating to 7.x from 6.x due to obsolete cache files.
Version 7.0.4 April 12th, 2019API level 19+
- - Fix potential application crash when the OS System Webview component is being updated while ads are requested.
Version 7.0.3 January 28th, 2019API level 19+
- - Fix potential NPE when destroying a banner view in the process of loading a mediation ad.
Version 7.0.2 January 7th, 2019API level 19+
- - Fix potential NPE using the parallax format.
- - Any occurences of deprecated SmartCMP have been removed.
Version 7.0.1 December 13, 2018API level 19+
- - The
configure()
method on the SASConfiguration
class can now be called multiple times to update siteID and baseURL parameters.
- - To avoid security issues, VPAID ads display is not relying on WebView's
addJavascriptInterface
API anymore.
- - A
SASInterstitialManager
instance can sometimes be stuck in a state where no ad can be shown or loaded if the show()
method was called before the previous ad call completed.
Version 7.0.0 November 19, 2018API level 19+
- - New APIs to handle interstitial & rewarded video:
SASInterstitialManager
, SASRewardedVideoManager
.
- - Ad placements are now represented by a dedicated class:
SASAdPlacement
.
- - Test placements for all ads formats have been added.
- - SDK settings are now controlled by the
SASConfiguration
shared instance.
- - Mediation is opened, publishers can implement custom mediation adapters using public interfaces.
- - Creatives can not auto-redirect the user before any interaction occurs.
- - Ads received from the Ad server are now strongly typed to ensure consistency between programmation and integration. Trying to display a given ad format into a different format container will trigger warnings in Android Studio logcat. Starting from next minor release, this use case will fail with an exception.
- - Load and Show are now separate actions for interstitial & rewarded video ads.
- - Ad loading APIs now requires a
SASAdPlacement
instance instead of placements IDs.
- - The rewarded video API has been updated for consistency with the interstitial API.
- - Deprecated Apache HTTP APIs have been removed and replaced by OkHttp library.
- - There is now a separate listener for each ad type:
SASBannerView.BannerListener
, SASinterstitialManager.InterstitialListener
, SASRewardedVideoManager.RewardedVideoListener
, SASNativeAdManager.NativeAdListener
- - Interstitial ads are now displayed in a dedicated Activity.
- - Ad call timeouts are now set using the
SASConfiguration
shared instance.
- - Prefetch mode has been removed and is replaced by the load and show separation.
- - The loader view mechanism has been removed from interstitials.
- - Former mediation adapters embedded into the previous version of the SDK have been removed and were made available as open source Open Mediation adapters on our Github.
- - MRAID screen capture API (not part of IAB)
mraid.sasRequestScreenCapture()
, captures a blank image instead of the current app screen. This will be fixed in the next release.
Version 6.10.1 December 12, 2018API level 19+
- - To avoid security issues, VPAID ads display is not relying on WebView's
addJavascriptInterface
API anymore.
Version 6.10.0 June 27, 2018API level 19+
- - VPAID is now enabled for all formats (interstitial, banner, native ad media).
- - Video-Read and interstitial UI have been updated to allow better interaction with VPAID creatives (note: the final action layer has been completeley removed for VPAID video).
- - Open the ad in app on click is now the default behavior. The ad will be opened in a Chrome Custom Tabs if imported in the application, or in the default browser if not.
Version 6.9.1 June 4, 2018API level 19+
- - Mediation — GDPR: now forwarding user's consent to mediation partners.
Version 6.9.0 May 4, 2018API level 19+
- - GDPR Compliance.
- - In-App Bidding.
- - Parallax display improvement in landscape mode.
- - Stick-to-top Video-Read stays fullscreen when closed in SASSample
RecyclerView
implementation.
- - Fix counting issue for Mediation with AdMob Interstitial.
Version 6.8.0 March 20, 2018API level 19+
- - Mediation: added support for the following networks: AdinCube, TapJoy and Vungle.
- - Mediation: added rewarded video formats for the following networks: AdMob, AdColony, AppLovin, Facebook Audience Network, InMobi and Mopub.
- - Mediation: updated mediation to support latest SDKs of every network. See mediation overview for more informations.
- - Video ads: modified impression counting for outstream formats: ad impression is now sent when the video starts to play instead of when the video is ready to play.
- - Improved support of third party pixel array in templates.
- - Video is now centered properly in landscape.
- - Fixed a crash with video read sticky mode and no network connection.
- - Fixed a crash when loading a mediation ad and displaying it on another placement.
- -
hasRewardedVideo()
API no longer reports that the rewarded video is loaded too soon.
- - Better Android 'back button' support for rewarded video.
- - Improperly loaded video are no longer cached.
- - Premium video ad is now used as fallback if the mediation waterfall fails.
- - Fixed a potential crash with Facebook native ads.
- - The app localization is forwarded to the RTB engine properly.
- - Play button does not briefly appears anymore on autoplay video interstitials.
- - Fixed some rotation issues with video interstitials.
- - Improved parallax support in
CoordinatorLayout
.
- - Mediation: removed support of Millennial Ads for every type of integration.