adhub 0.0.16
adhub: ^0.0.16 copied to clipboard
A Flutter package that simplifies ad integration with a unified API for banner, interstitial, and rewarded ads.
0.0.16 #
- Fix: Implemented Google UMP (User Messaging Platform) consent flow before MobileAds initialization — resolves AdMob "Consent requirement: No CMP" and "Low coverage" policy violations.
- Fix: ATT (App Tracking Transparency) on iOS now runs before UMP consent and MobileAds init — correct order per Google's guidelines.
- Chore: Removed duplicate ATT request from the post-init callback; ATT is now handled exclusively in
BaseClass.initAdNetworks. - Fix: OneSignal notification permission is now requested only once — if the user taps "Don't Allow", the prompt will not appear again on subsequent launches.
- Fix: Tapping "Rate" on Android now opens the Play Store listing directly when the in-app review API is unavailable (debug build, quota exhausted, etc.).
0.0.15 #
- Fix: App Tracking Transparency (ATT) dialog now reliably appears on the very first launch on iOS.
- Fix: ATT request is now made before OneSignal notification permission to avoid iOS silently dropping the dialog when two system permission prompts collide.
- Fix: Added
trackingAuthorizationStatuscheck — ATT is only requested when status isnotDetermined, preventing unnecessary calls on subsequent launches. - Improvement: Added a 500ms settle delay before presenting the ATT dialog to ensure the root view is fully rendered when iOS shows the prompt.
0.0.14 #
- Refactor: Extracted all dialog UI definitions into a centralized utility class
AdhubDialogsto improve maintainability and reduce main file size. - Optimization: Replaced legacy inline dialog functions with clean calls to static utility methods.
0.0.13 #
- Documentation: Simplified README and updated installation instructions.
- Fix: Quick fixes and stability improvements.
0.0.12 #
- Removed unused
getpackage dependency to reduce package size.
0.0.11 #
- Cleaned up console output by removing unnecessary
print(),debugPrint(), andLoggerstatements throughout the package. - Removed
loggerpackage dependency. - Upgraded dependencies to latest versions (
google_mobile_ads: ^8.0.0,package_info_plus: ^10.1.0,onesignal_flutter: ^5.5.1).
0.0.10 #
- Fix: Added
GoogleInit.readyCompleter — all Google ad loaders now await AdMob init before loading. Splash screen ads now work correctly with non-blocking startup.
0.0.9 #
- Performance:
MobileAds.instance.initialize()is now non-blocking to eliminate 2-3 second startup delay caused by waiting for all mediation adapters (including AppLovin) to finish.
0.0.8 #
- Performance:
AppLovinMAX.initialize()is now non-blocking (fire-and-forget) to eliminate 4-5 second startup delay. - Fix: Added null-safe
?? falsecheck onappLovinad network flag to prevent crashes when the key is missing.
0.0.7 #
- Hotfix: Prevented a crash inside
initAdNetworksby checking the app version and checking for forced update explicitly before execution.
0.0.6 #
- Hotfix: resolved a compilation error by ensuring
<bool>return type safety on OneSignal'sisOptedInmethod.
0.0.5 #
- Added fallback logic to show the update dialog with
appUrlif the specified app version isn't found in JSON. - Optimized
RateUsdialog to not repeatedly show in the same session after the user interacts with it. - Added
AdhubNotificationsutility class to easily allow developers to toggle OneSignal push notifications on and off for the end-user. - Upgraded underlying package dependencies to the newest stable versions.
0.0.4 #
- Major refactor of
Adssingleton (reduced 1200+ lines of duplicate code). - Unified ad type indexing (0: Google Inter, 1: Google Rewarded, 2: Google Rewarded Inter, 3: AppLovin Inter, 4: AppLovin Rewarded).
- Added AppLovin Rewarded ad support.
- Added descriptive logging for ad lifecycle events.
- Removed
GlobalBannerAd(logic unified into screen-level banners).
0.0.3 #
- Added multi-platform support (Android & iOS).
- Stability improvements and bug fixes.
0.0.2 #
- TODO: quick fixes.
0.0.1 #
- TODO: Describe initial release.