Date format: DD/MM/YYYY
- Upgrade Android SDK to version 20.2.0
- Removed
onLeftApplication
event. - Possibility to change the RatingBar color (Fixes #84)
- FIX
RewardedAdEvent.earnedReward
never gets called on iOS (#85)
- FIX Native ad does not assume assets are non-null anymore (#64)
- NEW Possibility to get info about native ads using the controller (#50)
- NEW Native ad templates (Follows this)
- FIX
NativeAd.lineHeight
is not called anymore (Fixes this) - NEW Implemented Ad keywords for Android. (Partially fixes this)
- FIX
BannerAdController
throwing an error if disposed before any ad is loaded.
- FIX NULL-SAFETY
MobileAds.isTestDevice
now can't return null - FIX The Banner
AdView
's is now not disposed whenBannerAdView
is removed from the view. It's not disposed when the controller is disposed.
- FIX The
NativeAd
object is not disposed when theNativeAdView
is removed from the view. It's now disposed when the controller is disposed. (Fixes #45) - FIX
W/StaticLayout(21479): maxLineHeight should not be -1. maxLines:1 lineCount:1
is not logged frequently anymore. Only sometimes
- FIX
RewardedAdEvent.earnedRewarded
was never being called. (Fixes #40)
- NEW Support for non personalized ads (Fixes #27)
- FIX App doesn't crash anymore by calling
setAppVolume
(Fixes #29)
- FIX Add conditional
!controller.isLoaded
before showing error and loading placeholders for both Banner and Native Ads (Fixes #27) - NEW
RewardedInterstial
- FIX Fixed build error: Unresolved reference: controller
- NEW
BannerAdEvents.leftApplication
andNativeAdEvents.leftApplication
(Fixes #26)
- FIX
MobileAds.requestTrackingAuthorization
(Fixes #23) - FIX Full-screen ad loading
- NEW
MobileAds.requestTrackingAuthorization
(Fixes #3) - FIX Check if the ad is not loaded before throwing the timeout error (Fixes #19)
- FIX Removed line that ensured the running platform was Android (Fixes #20)
- Increased the load timeout to 1 minute
- Updated wiki with the previous changes
- Null Safety🎉🥳
- NEW Timeout for all the ads. Default to 30 minutes
- NEW
unitId
forNativeAdController
. - FIXED
NativeAdController.muteThisAdReasons
- FIXED
NativeAdController.isCustomMuteThisAdEnabled
- FIXED
NativeAdController.mediaContent
- Native Video Ad in example app
- iOS Banner, Interstitial, Rewarded, AppOpen ads are supported on iOS 🥳🎉
- FIX Unhandled Exception: Bad state: Cannot add new events after calling close
- FIX Banner Ad was not working with Virtual Display. (Fixes #16 and revert #11/786244151)
- FIX Load native and banner when added to the tree only if not loaded
- FIX Listen to events only before loading native and banner ads
- NEW
BannerAdOptions.reloadWhenUnitIdChanges
- BREAKING Removed
BannerAdOptions.reloadWhenOrientationChanges
- NEW
AdView.elevation
andAdView.elevationColor
- FIX Apply height to BannerAd only when it's loaded. (Fixes #11/786244151)
- FIX Make sure the SDK is initialized when verifying the os version. (Fixes #8)
- WIKI NEW Incompatibility with other admob dependencies (Fixes #4)
- NEW
useHybridComposition
parameter in the constructor of bothNativeAd
andBannerAd
- WORKAROUND
useHybridComposition
defaults totrue
in android. (See #16 for more info)
- NEW
unitId
parameter in theNativeAd
widget. (Fixes #14/785424875)unitId
paramer in theAppOpenAd
,RewardedAd
andInterstitialAd
constructor.loadTimeout
parameter in all the ads. (Fixes #14/785435140)delayToShow
parameter inNativeAd
andBannerAd
. (Fixes #11)
- FIXED
BannerAdOptions.reloadWhenSizeChanges
now works properly - Wiki:
- PERFORMANCE
- BREAKING Do not use xml layout for native ad anymore (You may need to run
flutter clean
to build the app again) - Close the stream subscription to free up resources
- BREAKING Do not use xml layout for native ad anymore (You may need to run
- FIXED
- Added a delay to show the android platform view (Virtual Display). (Fixes #11)
- Check if the widget is
mounted
before trying tosetState
- Banner height is only applied to
BannerAd
only when it's loaded. (Fixed #11/783862567)
- Remove the iOS support label from pub.dev (Fixes #9)
- BREAKING:
- Removed
InterstitialAdEvent
andAppOpenAdEvent
- Removed
AdError.domain
- Removed
- NEW:
FullScreenAdEvent
- Improved documentation
- Wiki
- Updated wiki about
RewardedAd
latest update - NEW: Consider using Native Ads over Banner Ads
- Updated wiki about
- FIXED:
- AdError could not parse json from platform side. Now
loadFailed
andshowFailed
works correctly and theerror
placeholder is shown properly
- AdError could not parse json from platform side. Now
- BREAKING:
- Removed
AdError.cause
. It was giving a StackOverflowError on the android side. (Fixed #6)
- Removed
- Make sure the controller is not attached only when trying to attach. (Fixed #5)
- Formatted files and improved documentation
- Example app:
- Added Material elevation to native ads
- Added an example using Navigator
- NEW:
AdView.copyWith
. Now native ads have default values that will only be overritten if done manually. (Fixes #4)BannerAdOptions
force
on load methodsisLoaded
on banner and native controller
- HIGHLIGHT: Automatically detect the orientation of the device when loading and set App Open Ad orientation accordingly. Previosly, if your app was in landscape mode and the orientation was set to portrait, the app would go to the portrait orientation
- Example app:
- Force reload ads if they're long pressed
- Added a
RefreshIndicator
to the full screen ads page
- Improved documentation and formatted files
- Improved documentation and formatted files
- Make sure to check if the native ad is not disposed instead of attached
- profile mode is now considered as test mode
- Avoid
RewardedAd
s from receiving events if disposed - Ensure the SDK is initialized before using it (
MobileAds.initialize
) - New
AttachableMixin
- Disattach the controller on dispose
MobileAds
- Make constructor private
- Add android version checking on initialize (min version is 16)
- Fixed
setAppMuted
error - Added
RATING_G
,RATING_PG
,RATING_T
andRATING_MA
consts to supportsetMaxAdContentRating
- Param on
setAppMuted
is now optional.true
by default
- Added internet permission to example app
- Banner Ads:
- NEW: You can now set the unitId in the
BannerAd
constructor usingunitId
- BREAKING: Removed
undefined
fromBannerAdEvent
- NEW: You can now set the unitId in the
- Native Ads
- Migrate deprecated depedencies. migration
- NEW: Added
unmuted
inNativeAdEvent
- BREAKING in NativeAdEvent:
- Removed
clicked
andimpression
- Renamed
mute
tomuted
- Removed
- Make sure to use a valid reason on Custom Mute This Ad
- Only dispose controller if it was created by the ad
- Disattach the controller when the banner ad is disposed
- Wiki (Documentation):
- Make sure to follow the new Interstitial and Rewarded Ads apis
- Fixed broken links
- Removed Native Video Ad
- NEW: Ad Errors
- Updated documentation and formatted all the files
- Simplified example
- Migrated to SDK v20 on Android
- BREAKING CHANGES on Interstitial and Rewarded ads:
- Can NOT set the unit id in the constructor anymore.
- Removed
undefined
,leftApplication
andclicked
from events - Removed
createAndLoad
from Rewarded Ads - Renamed
opened
->showed
- Added
showFailed
- Unable to use
rewardedAd.rewardedItem
anymore
- FIXED:
- Ads were being loaded forever once it loads once. Now when you show an ad it gets unloaded
- NEW:
- Rewarded ads can be reusable now
LoadShowAd
andUniqueKeyMixin
are now public- Improved class documentation
- Formatted code
- Preview implementation for iOS.
- Improve pub score
- NEW:
MediaContent.copyWith()
- Ads and Controllers are now inherited from
LoadShowAd
to avoid boilerplate code - All
load()
andshow()
methods returns aFuture<bool>
wheretrue
is success andfalse
is error - Add all test ids in its respective ad classes
- FIXED:
- Controllers could keep receiving events from the platform side after being disposed
- Media aspect ratio was not set when trying to set
- Fixed
adBannerLayoutBuilder
screenshot on the documentation - Null issue on the android side when releasing an activity
- Throws an
AssertionError
if you try to use a different type inAdGradient
- Highly improved the documentation and wiki
- NEW:
- Implementation for AppOpenAds
- Wiki page for AppOpenAds
- New mixin [UniqueKeyMixin] to implement a unique id to classes
MobileAds.isTestDevice
method- The plugin channel is now public accessible in
MobileAds.pluginChannel
- Fixed: showing warning when a production ad was used in testing (debug)
- Improved documentation on
AdError
s to supportAppOpenAd
s error codes - Removed the native video ad gif
- Updated example:
- Now it shows an example of how to use a Banner ad in the bottom of the screen with a bottom bar
- The example is now fully documentated
- Added
AppOpenAd
to full-screen ads
- Add declarative support for iOS, even tho it's not supported
- Internet permission documentated
- NEW: Native Video Ad gif
- Code refactor
- NEW:
rewardedAdUnitId
inMobileAds.initialize()
is now possible- Implementation for
Native and Interstitial Video Ad Ids
- FIXED:
- Rating bar sizes
- AdError compiling issue when coming from android
- Removed tooltip text
- Documentation and wiki update
- Improved error messages
- Shows a warning if Production Ads are used in debug mode (
kDebugMode
) - Version checking is done on build method now because Native and Banner Ads requires Android Api >= 19, but Interstitial and Rewarded requires Android Api >= 16. Required version for iOS is 9
- Pre-support for iOS:
- NEW:
AdError
instead of onlyerrorCode
- You can now
await
theshow()
method fromRewardedAd
andInterstitialAd
- Improved documentation
- Now disposed controllers throw an
AssertionError
if used
- NEW: Rewarded ads
- Removed unused methods from interstitial
- Banner Ad Builder is only applied if loaded
- NEW:
- InterstitialAd
- Adaptive Banner Ads
- Readme update
- All AdViews are documentated now
- Deprecate
SMART_BANNER
, as it's deprecated in SDK v20- See this
- NEW:
AdSingleChildView
. Equivalent toSingleChildView
AdExpanded
. Equivalent toExpanded
- Use
AdDecoration
for decoratingAdView
s - Changed the default native ad layout builder design to make it more like this
Loading
andError
placeholders are now avaiable onBannerAd
s- Updated example app. It's more clear and more intuitive to use
- Documentation improvement
- NEW: BannerAds
- BREAKING:
- Rename
AdEvent
toNativeAdEvent
- Rename
NativeAds
toMobileAds
- Rename
- Size is only applied to the ad, not the builder
- Implement ad builder
- Implement MediaContent
- Fixed mute this ad info
- HIGHLIGHT: Automatic support for Hybrid Composition on android
- Removed custom mute this button from native side
- Removed web implementation
- Improved readme
- Improve view size calculation and warnings
- Improved documentation
- Update the documentation
- Created the wiki
- Fix custom this ad reasons
- Implemented
isCustomMuteThisAdEnabled
on controller
- Custom mute this ad is still avaiable but you can't use a
AdView
for it
- Implementation for NativeAdOptions
- HIGHLIGHT: adChoicesPlacement
- HIGHLIGHT: mediaAspectRatio
- HIGHLIGHT: requestCustomMuteThisAd
- returnUrlsForImageAssets
- requestMultipleImages
- videoOptions
- Implement custom mute this ad
- Performance update
- Implementation for new methods
- HIGHLIGHT: setChildDirected
- HIGHLIGHT: setTagForUnderAgeOfConsent
- HIGHLIGHT: setMaxAdContentRating
- setAppVolume
- setAppMuted
- Improved documentation
- Preparation for
Custom Mute this Ad
andNative Video Ads
- Portuguese translation
- Improvoved documentation
- Remove useless files
- Button text style is now customizable
- Fixed
Colors.transparent
color bug
- Added layout gravity
- Changed examples to support hot reload
- Remove context from builder
- Changing the layout during runtime is now supported 🥳🥳🎉
- Add Linear and Radial Gradient
- Fix some issues
- Initial release