multi_ads_sdk 1.0.10
multi_ads_sdk: ^1.0.10 copied to clipboard
A comprehensive Flutter SDK for multi-provider ads (AdMob, AdX, Facebook) with single-load and single-show pattern. Built with clean architecture principles and supports Android & iOS.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.10 - 2026-02-14 #
Changed #
- iOS & Android: Decreased native ad CTA button height (small: 36pt/dp, medium: 40pt/dp) for a more compact layout.
1.0.9 - 2026-02-14 #
Changed #
- iOS: Migrate to Google Mobile Ads SDK 12.x Swift API (GAD* types renamed: InterstitialAd, RewardedAd, BannerView, NativeAd, etc.).
1.0.7 - 2026-02-14 #
Changed #
- iOS: Upgrade Google-Mobile-Ads-SDK from ~> 10.0 to ~> 12.0 for Firebase 11 compatibility (resolves GoogleUtilities/NSData+zlib and nanopb conflicts).
1.0.6 - 2026-02-14 #
Changed #
- iOS: Minimum deployment target raised to iOS 15.0 (from 13.0).
- iOS podspec and Swift source files updated for stability.
Fixed #
- iOS: Added GADApplicationIdentifier to example Info.plist (required for Google Mobile Ads SDK).
- iOS: Replaced deprecated
UIApplication.shared.windowswithconnectedScenesfor root view controller on iOS 13+. - iOS: Nil-safety for native ad properties (AdMob and Facebook).
- iOS: Pass root view controller to GADAdLoader and FBAdView instead of nil.
1.0.5 - 2026-01-29 #
Changed #
- iOS podspec version aligned with package version for correct CocoaPods resolution.
- README: Added iOS troubleshooting for Google-Mobile-Ads-SDK / nanopb dependency resolution (e.g. when using Firebase).
1.0.4 - 2026-01-29 #
Changed #
- iOS: Minimum deployment target raised to iOS 13.0 (from 12.0). Plugin podspec and README updated accordingly.
1.0.3 - 2026-01-29 #
Added #
- AdsLogger:
logAdFailedToLoad,logException,logAdNotLoaded, andsetLogger()for optional custom logging (e.g. Crashlytics). Exported frommulti_ads_sdk.dart; see README for usage. - Native ad layouts: Small and Medium variants with full-width INSTALL button, media-on-top (medium), and transparent background option.
Changed #
- Native ads: Layout matches reference (media → details row → body for medium → full-width INSTALL button). Transparent background for native ad containers on Android and iOS.
- AD_NOT_LOADED: When show is called before load, SDK throws a clear message ("Ad not loaded. Load the ad first, then tap Show.") and logs without full stack trace. Example app shows "Load the native ad first, then tap Show." when this occurs.
Fixed #
- Lint: Removed unnecessary braces in string interpolation in
ads_logger.dart.
1.0.2 - 2026-01-29 #
Fixed #
- Native ads: Native ads now display correctly via platform views (Android and iOS). Previously only load/show events fired; the ad content is now rendered in the Flutter-embedded native slot.
- Android: Added
NativeAdViewFactoryand native ad layout; AdMob and Facebook native ads are attached to the platform view container when loaded or shown. - iOS: Retained
GADAdLoaderso native ad load completes; added native ad platform view andattachNativeToContainer()for AdMob and Facebook native display. - Example: Native ad slot uses
AndroidView/UiKitViewwithmulti_ads_sdk/nativeso the loaded native ad appears in the UI. - App open ads: Example app open ad unit ID updated to the correct test ID for app open format (
9257395921) to fix "Ad unit doesn't match format" when using test ads.
1.0.1 - 2026-01-27 #
Added #
- Internet connectivity check functionality
checkInternetConnectivity()method inMultiAdsManagerto verify internet availability- Native platform implementations for connectivity checking on Android and iOS
- Automatic error handling with "No internet available" message when connectivity is unavailable
Features #
- Cross-platform internet connectivity detection using native APIs
- Android implementation using
ConnectivityManagerandNetworkCapabilities - iOS implementation using
Networkframework withNWPathMonitor
1.0.0 - 2026-01-27 #
Added #
- Initial release of multi_ads_sdk
- Support for Google AdMob ads
- Support for Google AdX ads
- Support for Facebook Audience Network (Meta Ads)
- Single-load and single-show pattern for all ad types
- Support for multiple ad formats:
- App Open Ads
- Banner Ads (inline and adaptive)
- Interstitial Ads
- Rewarded Ads
- Rewarded Interstitial Ads
- Native Ads
- Clean Architecture implementation (Core → Data → Platform)
- MethodChannel communication for Android and iOS
- Dynamic ad unit ID support
- Comprehensive error handling and callbacks
- Example Flutter app with Material 3 UI
- Full documentation and integration guide
Features #
- Unified API through
MultiAdsManager - Provider abstraction with
BaseAdProvider - Platform-specific implementations for Android (Kotlin) and iOS (Swift)
- Automatic ad lifecycle management
- Reward callbacks for rewarded ad types
- Event listeners for ad lifecycle events (loaded, shown, dismissed, clicked, rewarded)