Facebook Audience Network SDK for Android Change Log

Change log and release notes for the Facebook Audience Network SDK for Android.

Audience Network SDK 5.3.0 - Apr 15, 2019

Added

  • The Android SDK no longer requires Android support library. Apps can freely upgrade to Android X or to different versions of the support library without affecting their SDK.
  • BidderTokenProvider.getBidderToken() can now be called often and the bidder token is precomputed at startup so, once the SDK initializes, obtaining the bidder token should be faster than in previous versions, avoiding latency issues.
  • The Android SDK now has a smaller method footprint. It now has around 800 methods vs over 8000 previously. This is useful mainly for single-dex publishers. The size of the Android SDK has also been reduced.
  • The Android SDK now uses less upstream network traffic when communicating with Facebook servers.
  • The SDK is now bundled differently to improve our security measures. We ship a separate asset that is a dex file with more code. Bytecode manipulation of this dex file is not allowed.
  • New method (isInitialized) in AudienceNetworkAds that allows applications to test whether the SDK is initialized. This allows publishers to avoid double initialization.
  • New method (getAdsProcessName) in AudienceNetworkAds that allows applications to check whether the current process is an internal SDK process (same as isInAdsProcess that was introduced in 5.1). For publishers who want more control over their apps' processes, this can be used to filter the process spawned by the ads SDK.
  • NativeAdViewAttributes constructor now requires a Context object.

Audience Network SDK 5.2.1 - Mar 14, 2019

Fixed

  • Fixed NPE during caching.
  • Fixed NativeAdsManager isAdInvalidated() always return true
  • Fixed ConcurrentModificationException

Audience Network SDK 5.2.0 - Feb 20, 2019

Added

  • New native templates - an easier way to add Native Ads to your app.
  • Added option to hide ad reporting icon from AdOptionsView.
  • Added blur background to videos in MediaView (Native Ads).
  • Interstitial design improvements.

Audience Network SDK 5.1.2 - Feb 19, 2019

Fixed

  • Mitigated Fatal Exception: android.util.AndroidRuntimeException: android.content.pm.PackageManager$NameNotFoundException: com.google.android.webview Android bug.
  • Fixed Error: java.lang.RuntimeException: java.lang.Throwable: A WebView method was called on thread 'JavaBridge'. All WebView methods must be called on the same thread. Exception.

Audience Network SDK 5.1.1 - Jan 24, 2019

Fixed

  • When a Rewarded Video gets stuck at buffering or crashes, the end cards are presented and the reward is given to the user.

Audience Network SDK 5.1.0 - Oct 31, 2018

Added

  • AdOptionsView for native ads which provides greater flexibility.
  • Initialisation method to the SDK.
  • Integration error mode setting, which will throw an exception in debug mode when the SDK has been used incorrectly.
  • Added Playable Ad format in Interstitial Placements. Playable ads are a new interactive ad format that allows advertisers to offer a short preview of their game, app or brand before people can choose to download the app.

Audience Network SDK 5.0.1 - Oct 3, 2018

Fixed

  • Fixed Error: java.lang.RuntimeException: Unable to pause activity {com.your.app/com.facebook.ads.AudienceNetworkActivity}: java.lang.NullPointerException for Carousel Interstitials.
  • Fixed java.lang.NoSuchMethodError: android.view.ViewTreeObserver.removeOnGlobalLayoutListener Exception.
  • Fixed java.lang.IllegalStateException: The specified child already has a parent Exception.

Audience Network SDK 5.0.0 - Sep 7, 2018

Added

  • Important notes! In order to support Android P, please refer to Android Network Security Config guide
  • Added Playable Ad format in Rewarded Video Placements: Playable ads are a new interactive ad format that allows advertisers to offer a short preview of their game, app or brand before people can choose to download the app.
  • Long videos now supported on Rewarded Video with skip option.
  • New 'Report Ad' icon in Interstitials and Rewarded Video.
  • New End cards for Rewarded Video.
  • Make failOnCacheFailure default for Rewarded Video
  • New design for Interstitial Ads.
  • Interstitial Videos are now cached as default.
  • Optional OnActivityDestroyed callback for Rewarded Video and Interstitial.

Fixed

  • Improved Interstitials cache implementation.
  • Stop Instream Video automatically playing after skipping ad in our sample app.
  • Fixed crashes when audioFocus changes.
  • Stopped AdChoicesView from moving left when clicked multiple times.
  • Mitigated IllegalStateException with MediaPlayer.
  • Stopped NativeAd Template and NativeBannerAd Template from crashing the sample app.
  • Added error codes for internal errors.
  • Runtime Exception in MediaPlayer.hasSound
  • Don't replay skipped Instream Video
  • Fixed Null Pointer Exception DefaultMediaViewVideoRenderer.
  • Fixed crash in AudienceNetworkActivity.
  • Fixed RejectedExecution exception.
  • Fixed issue for blocking of the main thread.

Audience Network SDK 4.99.3 - Aug 16, 2018

Fixed

  • Fixed the horizontal vs vertical ad format mismatch, during bid time vs ad time.

Audience Network SDK 4.99.1 - July 4, 2018

Added

  • Support ImageView for NativeAd's ad Icon.
  • Added optional OnActivityDestroyed callback for Rewarded Video and Interstitial.

Fixed

  • Fixed a crash when audioFocus changes.
  • Fixed AdChoicesView from moving left when clicked multiple times.
  • Fixed IllegalStateException with MediaPlayer
  • Fixed NativeAd Template and NativeBannerAd Template from crashing the sample app.

Audience Network SDK 4.99.0 - June 12, 2018

Added

  • New Native Ad format, NativeBannerAd, which should now be used to display native ads with only the advertiser/app icon
  • MediaView is now enforced for Native Ads
  • New IconView is now enforced for Native Banner Ads
  • Native Ads API Updates
  • Added “advertiserName”, “headline”, “linkDescription”, “sponsoredTranslation”, “adTranslation”, “promotedTranslation”
  • Renamed “body” to “bodyText”
  • Caching all media assets is now the default for NativeAd and NativeBannerAd (media for nativeAd are image / video and icon. Media for nativeBannerAds is icon).
  • MediaCacheFlag now has only two options; All or NONE.
  • added onMediaDownloaded() callback in NativeAdListener to notify when media has been successfully downloaded.
  • Added (NativeAd / NativeBannerAd).downloadMedia method to download media on publisher's own.
  • Exclude parent view group from clickable areas unless a publisher intentionally includes them to a list of clickableViews.

Removed

  • Removed “title” and “subtitle” from the Native Ads API

Fixed

  • Fixed a layout issue with blurring images.

Audience Network SDK 4.28.2 - May 21, 2018

Fixed

  • NPE fixes
  • Fixed a new crash due to locked database
  • Fixed new OutOfMemory issues
  • Fixed IllegalStateException in MediaPlayer
  • Fixed Native Ad blinking when playing a video
  • Fixed error when unregistering a view that has been gc'ed

Audience Network SDK 4.28.1 - April 9, 2018

Fixed

  • NPE fixes
  • Fixed crash when setting background on MediaView due to TextureView's not supporting it since Android Nougat
  • Fixed crash due to locked database
  • Fixed Out Of Memory issues
  • Fixed an issue with ImagePlaceHolder not showing before a video ad starts
  • Fixed an issue with an internal error being thrown when the X button was pressed on Rewarded Video
  • Fixed an issue with onLoggingImpression() not called on Instream Video

Removed

  • Removed Android AppCompat Dependency

Audience Network SDK 4.28.0 - March 5, 2018

Added

  • Publishers using Rewarded Video can now set their rewardData before or after the loadAd method.
  • Added the tagView API which allows you to declare the role of views used to build a customised native experience in your app.
  • Sponsored Text translation. Text is now localized to the user.
  • Update Exoplayer to 2.4.2

Fixed

  • Moved all ad requests outside of the AsyncTask default serial executor
  • NPE fixes
  • Several logging fixes
  • Fixed a memory leak
  • Fixed crash when MediaPlayer was not initialised
  • Navbar hidden on fullscreen
  • Fixed database-related crash
  • Fixed class loading errors for AsyncTask

Audience Network SDK 4.27.1 - February 7, 2018

Fixed

  • Fixed crash due to using AppCompatImageView and AppCompatButton

Audience Network SDK 4.27.0 - December 6, 2017

Added

  • New designs for interstitial Ads – native implementation - controlled server side for performance testing
  • Made NativeAd.getAdChoicesText() method public to be used from Unity
  • Added option for RV ads to be displayed in the app orientation when the device is locking orientation – The publisher will get this behavior if they call the show method with the app orientation: rewardedVideoAd.show(APP_ORIENTATION);
  • Exposed the video duration for Rewarded Video ad – publisher will need to call rewardedVideoAd.getVideoDuration() when the callback onAdLoaded is received

Removed

  • Remove pre-cache experiment for image and carousel interstitials, as the data shown bad results

Fixed

  • Reduce the time delay for onInterstitialDismissed and onRewardedVideoClosed callbacks being called
  • Fixed IllegalStateException caused by the sensor listeners size that exceeds the maximum limit – affecting the Xiaomi devices
  • Fixed one of issues when the In App Browser displays a Blank Page for certain ads
  • Fixed issue with Interstitial video ad - Blank video shown when user returns from the website or play store on old OS versions
  • Fixed bottom menu bar being cut in the NativeAdSample app, Template view

Audience Network SDK 4.26.1 - October 25, 2017

Fixed

  • Fixed crash due to locked database

Audience Network SDK 4.26.0 - September 14, 2017

Added

  • Added CTA button in the fullscreen native video ad experience
  • Added publisher control for caching interstitial videos ads(by using interstitialAd.loadAd(EnumSet.of(CacheFlag.VIDEO));)
  • Enabled demo ad test types on AdUnitsSample and NativeAdsSample apps
  • Added publisher control to make RewardedVideoAd load fail if the video caching fails(by using rewardedVideoAd.loadAd(true);)
  • Added control for us to test caching for interstitial simple image and interstitial carousel ads
  • Added alpha API for App Bidding

Modified

Fixed

  • Fixed multiple thread creation on native ad
  • Fixed video caching failures on particular devices
  • Fixed Exoplayer issue with interstitial video ad playing in the background
  • Fixed MediaPlayer issue with video auto-playing when user pauses the fullscreen native video ad experience
  • Fixed video completion logging for Rewarded Video
  • Fixed divide by zero exception on interstitial video ads
  • Destroy all the resources when we call nativeAd.destroy() method
  • Fixed crashes on carousel ads on screen autorotation
  • Fixed NPE in video view renderer
  • Fixed memory leak in video ads
  • Fixed browser session logging and duplicated clicks for interstitial video ads
  • Fixed click logging on faulty webview versions for interstitial display and carousel ads

Audience Network SDK 4.25.0 - July 26, 2017

Added

  • Use Exoplayer for video ads instead of Mediaplayer

Modified

  • Updated Google Play Service and support library dependency versions

Fixed

  • Fixed crash when interacting with the screen after rewarded video finishes and before showing the endcard
  • Fixed no fill on the very first impression when advertising id hasn't been retrieved yet
  • Exoplayer doesn't restart video anymore after rotation on Interstitials
  • Fixed crash on old Android devices (below 4.2) for video interstitial ads