admob_kit_flutter 0.1.1
admob_kit_flutter: ^0.1.1 copied to clipboard
Flutter AdMob ads with adaptive banners, native templates, consent-aware loading, fullscreen presentation and live native styling.
Changelog #
0.1.1 #
- Documentation: the pub.dev page now includes the full usage guide, and every guide link works on pub.dev.
0.1.0 #
The first release since 0.0.2. Upgrading? Follow Migrating from 0.0.2. The reasoning behind each behavior is in Design decisions.
Highlights #
- 19 built-in native templates with live styling (
NativeAdStyle,AdmobKit.setNativeStyle), measured heights, and fullscreen pages. - Banner sizing: anchored adaptive (default), inline adaptive, fixed sizes, and collapsible banners. Fixed banners preload.
AdmobKit.waitForAllprepares a funnel step, such as all onboarding ads while the splash screen is up.waitForis deterministic: it settles when the ad is ready or cannot come, and returnsfalseat once while offline.timeoutis an optional time budget.- Ad widgets in tabs, pages, and lists need no setup: each ad goes to one visible widget and stays with it.
- A "Loading ad" shimmer placeholder for reserved banner space and native ads.
- Full guides: recipes, best practices, design decisions, API reference, migration, and an AI agent skill.
Breaking changes #
- Import
package:admob_kit_flutter/admob_kit_flutter.dart;flutter_ads.dartis removed. - Removed
AdmobKit.preload,leaseInlineAd,pool,logger, and the testing hooks. - Native ads use built-in templates: removed
NativePlacement.big/medium/small,factoryId,AdNativeView.templated, andAdNativeView'stemplate,width, andheight. AdBannerViewsizing moves toBannerPlacement.sizing; the default banner is anchored adaptive.registerPlacementsbeforeinitialize()throwsStateError.AdPriority.immediatenow outrankssplash.- Longer default request timeouts (
AdTimeoutConfig.standard). AdLogger,AdNetworkInfo, and someAdMobTestIdsapp IDs are no longer exported.
Added #
initializationState,initializationStateListenable,waitUntilCanRequestAds, andisPrivacyOptionsRequired.- Timeout profiles
emergingMarkets,relaxed, andaggressive. DebugGeographyexport for consent testing.
Changed #
- The ad the user is waiting for loads first;
waitForand visible widgets jump the queue. - Adaptive banners size to the rendered creative and keep the current banner during rotation.
- Only ads that were never shown expire.
- One-time ads whose screen the user already left are no longer loaded later.
AdPaywallGuardexits once, ignoring repeated taps.
Fixed #
- A fullscreen placement with capacity 2 or more buffers distinct ads.
- A fullscreen ad Android refuses to show no longer blocks later ads.
waitForrecovers after a placement's retries run out.- Empty banner and native slots try again when the app returns to the foreground.
Known limits #
- Native templates can truncate copy at narrow widths or large text scales. Test before release; see Native ads.
0.0.2 #
Fixed #
- Two widgets sharing a placement each get their own ad, ending "This AdWidget is already in the Widget tree" crashes.
- Splash presentation no longer races with other fullscreen ads.
- Rapid calls and tab switches no longer start duplicate downloads.
- Terminal load failures settle waiting widgets at once instead of after a timeout.
- The buffer refills after an ad is delivered straight to a waiting widget.
- Tabs that failed offline retry when shown again.
- Leasing or preloading after
dispose()is a safe no-op.
Changed #
waitForand empty-buffer widget leases jump to the front of the queue.- Hidden
IndexedStacktabs wait until selected before requesting. - Removed the
FlutterAdsandFlutterAdsConfigaliases; useAdmobKitandAdmobKitConfig.
Added #
placementCapacitiesfor several visible widgets sharing a placement.AdmobKit.dispose().- README API reference and an agent skill.
0.0.1 #
Initial release.
- Preloading queue with
waitForandshowfor interstitial, rewarded, rewarded interstitial, and app-open ads. - Google UMP consent with debug geography.
- One fullscreen ad at a time.
AdBannerView,AdNativeView, andAdPaywallGuardwidgets.- Analytics and diagnostics tracker contracts.