nestads_sdk_flutter_plugin 0.1.5
nestads_sdk_flutter_plugin: ^0.1.5 copied to clipboard
Official NestAds SDK for Flutter. Banner, popup, and splash ads with native Android and iOS integration.
Changelog #
0.1.5 #
- Production release on the 2.13 native SDK series.
- Android:
com.nestads:nestads-sdk-android:2.13.2fromhttps://nexus.wisebirds.ai/repository/releases/. - iOS (SPM):
nestads-ios-sdkat2.13.1fromhttps://github.com/wisebirds/nestads-ios-sdk. - iOS (CocoaPods): the vendored
Frameworks/NestAdsSDK.xcframeworkis the PRD2.13.1build (sync viatool/sync-prd-xcframework.sh 2.13.1). - Breaking — typed
NestAdsTargeting: the free-formtargeting: Map<String, dynamic>?parameter onNestAdsBanner/NestAdsPopupis replaced withtargeting: NestAdsTargeting?. The new class exposes typed fields (country,language,gender,age,publisherProvidedId,customTargeting,audienceParameters, plus platform-specificappVersioniOS-only /httpTimeoutMillisAndroid-only). Wire format (Map of the same keys) is unchanged so native factories are unaffected. - New:
NestAdsGender { unknown, male, female }enum onNestAdsTargeting.gender(replaces magic int / string values). - New:
NestAdsSplashnow exposestargeting: NestAdsTargeting?— previously the widget had no way to forward targeting even though the native factories already supported it.
0.1.5-dev.2 #
- DEV build of
nestads_sdk_flutter_plugin. Not for production. - Breaking — typed
NestAdsTargeting: the free-formtargeting: Map<String, dynamic>?parameter onNestAdsBanner/NestAdsPopupis replaced withtargeting: NestAdsTargeting?. The new class exposes typed fields (country,language,gender,age,publisherProvidedId,customTargeting,audienceParameters, plus platform-specificappVersioniOS-only /httpTimeoutMillisAndroid-only). Wire format (Map of the same keys) is unchanged so native factories are unaffected. - New:
NestAdsGender { unknown, male, female }enum onNestAdsTargeting.gender(replaces magic int / string values from the old Map). - New:
NestAdsSplashnow exposestargeting: NestAdsTargeting?— previously the widget had no way to forward targeting even though the native factories already supported it.
0.1.5-dev.1 #
- DEV build of
nestads_sdk_flutter_plugin. Not for production. - Android:
com.nestads:nestads-sdk-android:2.13.2-SNAPSHOTfromhttps://nexus.wisebirds.ai/repository/snapshots/. - iOS (SPM):
nestads-sdk-ios-packageat2.13.1-devfromhttps://bitbucket.org/wisebirds/nestads-sdk-ios-package. - iOS (CocoaPods): the vendored
Frameworks/NestAdsSDK.xcframeworkis the DEV2.13.1build (sync viatool/sync-dev-xcframework.sh 2.13.1-devafter each native SDK bump). - New:
NestAdsBanner.collapseOnFailure— whentrue, the slot collapses toSizedBox.shrinkafteronAdFailedToLoadand re-expands automatically when the host callscontroller.loadAd(). - New:
loadMode: NestAdsLoadMode.auto | .manualon banner / popup / splash widgets —manualskips the implicit initial load so the host can trigger it viacontroller.loadAd()(mirrors thenestads-sdk-kmp<nestads-ad load-mode>web component convention). - New:
NestAdsPopupOptions.backgroundType(Android only) — selects whether the server-provided background color or thebackgroundColorfield wins (AUTOvsCUSTOM). iOS has no equivalent and silently ignores the field. - Internal: shared parser utilities (
PluginUtils.kt/PluginUtils.swift) consolidate duplicateparseInt/parseDouble/parseBool/findLifecycleOwner/parseAdSize/parseBackgroundTypehelpers across all factories. - Internal: dead code cleanup — removed unused
findImageView/collectLargestImageViewfrom iOS banner factory; banner now usesintrinsicContentSizefor all ad sizes. Removed unusedlogToDartfrom iOS banner / popup factories.
0.1.4 #
- First production release on the 2.13 native SDK series.
- Android:
com.nestads:nestads-sdk-android:2.13.2fromhttps://nexus.wisebirds.ai/repository/releases/. - iOS (SPM):
nestads-ios-sdkat2.13.1fromhttps://github.com/wisebirds/nestads-ios-sdk. - iOS (CocoaPods): the vendored
Frameworks/NestAdsSDK.xcframeworkis the PRD2.13.1build (sync viatool/sync-prd-xcframework.sh 2.13.1). - Breaking — splash unified:
NestAdsWideSplashwidget / controller / options removed. The singleNestAdsSplashwidget now handles both legacy SPLASH and wide (image / video) responses; the native side routes by response type. Wide-only callbacks (onBackgroundColorReady,onVideoStarted, etc.) are exposed on the same widget. - Breaking — popup button options grouped: 8 flat
left/rightButton{FontName,FontColor,Color,BorderColor}fields collapsed into typedNestAdsPopupButtonOptionsreferenced asleftButton/rightButton. Wire format unchanged so native factories are unaffected. - Breaking — explicit SDK initialization: native auto-init removed from plugin attach (Android) and registration (iOS). Host apps must call
NestAdsService.initialize()(orinitializeIgnoringErrors()) before mounting any ad widget. - Breaking —
NestAdsAdSize.fluidContainremoved: native banner / splash factories already auto-route DartFLUIDto the SDK'sFLUID_CONTAIN(Android 2.13.1+ / iOSNestAdsSizeType.fluidContain), so exposing both was redundant. Wire format simplifies to'FLUID'/'FILL'/'FIXED'. TheisFluidContaingetter is removed. - New: typed
NestAdsBannerOptions(replaces free-formMap),NestAdsBackgroundTypeenum. - New:
NestAdsBanner.collapseOnFailure— whentrue, the slot collapses toSizedBox.shrinkafteronAdFailedToLoadand re-expands automatically when the host callscontroller.loadAd(). - New:
loadMode: NestAdsLoadMode.auto | .manualon banner / popup / splash widgets —manualskips the implicit initial load so the host can trigger it viacontroller.loadAd()(mirrors thenestads-sdk-kmp<nestads-ad load-mode>web component convention). - New:
NestAdsErrorReporterutility for reporting host-callback exceptions, plus aNestAdsEnvironmentconfig. Plugin gainscrypto,encrypt,httpruntime deps. - Android: unified splash factory under a single
NestAdsSplashViewFactory(the wide factory file removed). Lifecycle-owner propagation viafindViewTreeLifecycleOwnerso platform-view ad views get visibility-tracked impressions. - Banner / popup / splash: host-callback dispatch wrapped in try/catch so a throwing consumer callback no longer wedges the method channel.
- Internal: shared parser utilities (
PluginUtils.kt/PluginUtils.swift) consolidate duplicateparseInt/parseDouble/parseBool/findLifecycleOwner/parseAdSizehelpers across all factories.
0.1.4-dev.2 #
- DEV build of
nestads_sdk_flutter_plugin. Not for production. - Breaking —
NestAdsAdSize.fluidContainremoved: native banner / splash factories already auto-route DartFLUIDto SDKFLUID_CONTAIN(Android 2.13.1+ / iOSNestAdsSizeType.fluidContain), so exposing both was redundant and confusing. PickingfluidContainexplicitly never produced different behavior thanfluid. The wire format simplifies to'FLUID'/'FILL'/'FIXED'. TheisFluidContaingetter is removed accordingly. - iOS splash factory: removed dead
case "FLUID_CONTAIN"branch (no longer reachable since Dart can't produce that wire string).
0.1.4-dev.1 #
- DEV build of
nestads_sdk_flutter_plugin. Not for production. - Android:
com.nestads:nestads-sdk-android:2.13.2-SNAPSHOT(unchanged). - iOS (SPM):
nestads-sdk-ios-packageat2.13.1-dev(unchanged). - Breaking — splash unified:
NestAdsWideSplashwidget / controller / options removed. The singleNestAdsSplashwidget now handles both legacy SPLASH and wide (image / video) responses; the native side routes by response type. - Breaking — popup button options grouped: 8 flat
left/rightButton{FontName,FontColor,Color,BorderColor}fields collapsed into typedNestAdsPopupButtonOptionsreferenced asleftButton/rightButton. Wire format unchanged so native factories are unaffected. - Breaking — explicit SDK initialization: native auto-init removed from plugin attach (Android) and registration (iOS). Host apps must call
NestAdsService.initialize()(orinitializeIgnoringErrors()) before mounting any ad widget. NestAdsAdSizeis now backed by aNestAdsAdSizeTypeenum internally — wire format ('FLUID'/'FILL'/'FIXED') preserved. The DartfluidContainvalue has been removed: native factories already auto-routeFLUID→ SDKFLUID_CONTAINon platforms that support it, so exposing both was redundant.- Banner: typed
NestAdsBannerOptions(was free-form Map). AddsNestAdsBackgroundTypeenum. - Android: unified splash factory under a single
NestAdsSplashViewFactory(the wide factory file removed). - New:
NestAdsErrorReporterutility for reporting host-callback exceptions, plus aNestAdsEnvironmentconfig. Plugin gainscrypto,encrypt,httpruntime deps. - Banner: host-callback dispatch wrapped in try/catch so a throwing consumer callback no longer wedges the method channel.
0.1.3-dev.1 #
- DEV build of
nestads_sdk_flutter_plugin. Not for production. - Android:
com.nestads:nestads-sdk-android:2.13.2-SNAPSHOTfromhttps://nexus.wisebirds.ai/repository/snapshots/. - iOS (SPM):
nestads-sdk-ios-packageat2.13.1-devfromhttps://bitbucket.org/wisebirds/nestads-sdk-ios-package. - iOS (CocoaPods): the vendored
Frameworks/NestAdsSDK.xcframeworkis the DEV 2.13.1 build (sync viatool/sync-dev-xcframework.sh 2.13.1-devafter each native SDK bump). - Splash: split simple/wide cleanly —
NestAdsSplashis image-only on both platforms (no video callbacks/options); video belongs toNestAdsWideSplash. - Android: lifecycle-owner propagation via
findViewTreeLifecycleOwnerso platform-view ad views get visibility-tracked impressions.
0.1.2-dev.2 #
- DEV build of
nestads_sdk_flutter_plugin. Not for production. - Android:
com.nestads:nestads-sdk-android:2.13.1-SNAPSHOTfromhttps://nexus.wisebirds.ai/repository/snapshots/. - iOS (SPM):
nestads-sdk-ios-packageat2.13.0-devfromhttps://bitbucket.org/wisebirds/nestads-sdk-ios-package. - iOS (CocoaPods): the vendored
Frameworks/NestAdsSDK.xcframeworkis the DEV 2.13.0 build (sync viatool/sync-dev-xcframework.sh 2.13.0-devafter each native SDK bump). - Banner: routes Dart
NestAdsAdSize.fluidto nativeFLUID_CONTAIN(Android 2.13.1+) /NestAdsSizeType.fluidContain(iOS), giving aspect-correct fluid sizing at parent width. - Banner: ATT request and smart-quote normalization for JSON targeting fields.
- Layout: top-level
tools/directory renamed totool/per pub layout convention.
0.1.2 #
- DEV build of
nestads_sdk_flutter_plugin. Not for production. - Android:
com.nestads:nestads-sdk-android:2.13.0-SNAPSHOTfromhttps://nexus.wisebirds.ai/repository/snapshots/. - iOS (SPM):
nestads-sdk-ios-packageat2.13.0-devfromhttps://bitbucket.org/wisebirds/nestads-sdk-ios-package. - iOS (CocoaPods): the vendored
Frameworks/NestAdsSDK.xcframeworkis the DEV 2.13.0 build (sync viatool/sync-dev-xcframework.sh 2.13.0-devafter each native SDK bump).
0.1.1 #
- Bundle iOS
NestAdsSDK.xcframework2.11.0 (was stale in 0.1.0 — causedBackgroundBehavior/VideoPlayConditionunresolved errors on CocoaPods install).
0.1.0 — Initial release #
- Banner ads (
NestAdsBanner) with FIXED / FLUID / FILL sizing - Popup ads (
NestAdsPopup) with show/dismiss controls - Splash ads (
NestAdsSplash) — image + video (iOS v2.11.0+) - Wide splash ads (
NestAdsWideSplash) — Android only, full-screen - Imperative controllers (
NestAds<Format>Controller) withloadAd()+ genericinvoke() - Typed options classes (
NestAds<Format>Options) for format-specific config - Bundled native SDKs: Android
com.nestads:nestads-sdk-android:2.11.0, iOS SPMwisebirds/nestads-ios-sdk:2.11.0