monetix_flutter 0.2.3
monetix_flutter: ^0.2.3 copied to clipboard
A production-ready monetization policy layer for Flutter. Manages ads, premium state, consent, and rewarded ad-free breaks.
0.2.3 #
- CI/CD Reliability: Fixed
CHANGELOG.mdparsing and strictpub.devanalyzer lint validation for deprecatedAdSizemethod calls. - Documentation: Updated
README.mddependency versions.
0.2.2 #
- Hotfix: Resolved internal CI strict-validation errors triggered by upstream
google_mobile_ads8.0.0deprecations by intentionally suppressing them for maximum backward compatibility.
0.2.1 #
- Architectural Stability: Fixed multiple race conditions and
Completerleaks during offline initialization, guaranteeing_initFuturesafely unblocks retries. - Data Integrity: Enforced explicit
intcasting onclamp()operands inRewardedMonetizationServiceto preventnumtype casting errors. - Memory Leak Fix: Resolved
ChangeNotifierlistener accumulation inMonetixDebugPanelcaused by missing unregister logic during rapid widgetdidChangeDependenciesupdates. - UI Gracefulness: Replaced permanent loading spinners in
MonetizedNativeAdwithSizedBox.shrink()when an ad permanently fails to load. - Testing Rigor: Introduced a rigorous automated regression suite covering offline startups, premium suppressions, listener deduplication, gate injections, and coordinator anti-spam logic.
0.2.0 #
- Request Burst Prevention: Added
MonetixRequestCoordinator— a global scheduler that debounces gate cascades, deduplicates same-type requests, and enforces per-ad-type minimum spacing. ExposesMonetix.debugMetrics()for observability. - Native Fallback Redesign: Fallback banner now only loads when the native ad explicitly fails, not pre-emptively after a 5s timer. The safety timer is cancellable and cleaned up on widget disposal. Prevents guaranteed double-requests under moderate latency.
- Interstitial Jittered Cooldown: All reload paths use a 2-5s jittered delay with a cancellable
Timerinstead of immediateloadInterstitialAd(). Timer is cancelled on premium unlock, config disable, and service disposal. - Gate Cascade Debouncing:
MonetizationGate._onStateChanged()uses a 50ms debounce timer to coalesce rapid state changes from config, premium, and rewarded sources into a single notification. - Debug Panel Overhaul:
MonetixDebugPanelnow inherits the host app's color scheme and includes mutation toggles for Global Ads Enabled, Simulate Native Failure, and Enable Rewarded Break. Timeline log renders whenDiagnosticAdAnalyticsis used. - Debug Interface Hooks: Added
setPremiumForDebug()toIAdStatusProviderandsetAdsEnabledForDebug()/setSimulateNativeFailureForDebug()/setEnableRewardedBreakForDebug()toIAdConfigProvider— no-op by default, overridable by any implementation. - Monetix.wire(): New static method to adopt externally-created instances into the static facade for Provider-heavy setups.
- DiagnosticAdAnalytics:
IAdAnalyticswrapper that maintains a 50-entry circular buffer of monetization events for the debug timeline.
0.1.9 #
- Non-Blocking Initialization: Restructured setup into synchronous
Monetix.bootstrap(...)and asynchronousMonetix.initialize(...)to resolve heavy startup bottlenecks and AndroidDeadObjectExceptionemulator crashes. - State & Readiness Engine: Introduced
MonetixStateenum andstate,isReady, andreadyfuture properties to natively support offline fallback and graceful degraded ad states. - Developer Safety Guards: Added debug construction warning messages to notify developers who directly instantiate the underlying services instead of using the facade.
- Unit Testing Improvements: Stabilized unit testing mock channels using custom message codecs to avoid type-cast and
FormatExceptionerrors.
0.1.8 #
- CI/CD Fix: Integrated
dart-lang/setup-dartinto the workflow to securely configure OpenID Connect (OIDC) token handshake variables, resolving hanging authorization requests.
0.1.7 #
- CI/CD Fix: Corrected the GitHub Actions glob trigger pattern to
'v*'so that automated OIDC publishing executes successfully on tag push events.
0.1.6 #
- Automated OIDC Publishing: Added robust pre-publish validation checks (
flutter analyze,flutter test, andflutter pub publish --dry-run) to our OIDC GitHub Actions pipeline. - Release Playbook: Added a comprehensive
RELEASE_CHECKLIST.mdin the package root to enforce standardized release procedures.
0.1.5 #
- Hybrid Resolution: Decoupled package widgets from strict Provider injection tree requirements, integrating robust fallback resolution to facade singletons.
- Dynamic Background Suppression: Services dynamically monitor Remote Config / premium updates, immediately cancelling active background loads and disposing of ad cache on disable.
- Bandwidth-Friendly Fallbacks: Migrated Native fallback Banner ad loads to occur lazily upon Native ad failure or timeout (5 seconds).
- Safety Guards: Implemented
_isLoadingguard on Banner ads to prevent duplicate/concurrent request storms under rapid rebuilds. - Improved Portability: Relaxed package dependency constraint to
google_mobile_ads: ">=7.0.0 <9.0.0"and migrated anchored adaptive banner sizes to a highly portable API compatible across all versions.
0.1.4 #
- Developer Tools: Added
MonetixDebugPanel,MonetixDebugButton, andMonetixAdminGatefor easier production testing. - Flexibility: Added
enableRewardedBreaktoggle to globally disable the rewarded ad break feature. - Reactivity: Made
SimpleAdConfigandBasicAdStatusmutable to support live configuration updates during testing. - UI/UX: Improved Reward Status Sheet layout with a more prominent "Premium" upgrade path.
- Documentation: Restructured docs into a layered system with a streamlined README and a new
/docsfolder for advanced setups. - Fixes: Corrected missing
statusProviderwire-up inMonetix.initialize.
0.1.3 #
- Documentation: Substantial README overhaul. Added "30-Second Integration" guide, comparison with raw AdMob, and split onboarding paths for Simple vs Production setups.
0.1.2 #
- Dependencies: Update
google_mobile_adsto^8.0.0andconnectivity_plusto^7.1.1. - Maintenance: Fix linting warnings including the deprecated
getCurrentOrientationAnchoredAdaptiveBannerAdSizeand missing block enclosures.
0.1.1 #
- Stable Release: First feature-complete production-ready release.
- Orchestrated Fallback Readiness: Parallel loading of native ads and banner fallbacks for instant, zero-delay switching.
- Enhanced Debug Simulation: Added
simulateNativeFailuretoIAdConfigProviderfor easier testing of fallback flows. - Improved Reactivity: Native ads now respond instantly to debug simulation toggles in real-time.
0.0.1 #
- Initial release of Monetix Flutter.
- Production-ready monetization policy layer for Google Mobile Ads.
- Configurable rewarded "ad-free break" logic with rate limiting and cooldowns.
- Smart Native-to-Banner fallback orchestration.
- Zero-dependency localization and reactive state management.
- Quick Mode facade (
Monetix) for simple initialization. - Professional example app and unit tests for rewarded logic.