koah_flutter 0.1.3 copy "koah_flutter: ^0.1.3" to clipboard
koah_flutter: ^0.1.3 copied to clipboard

A Flutter package for integrating Koah ads into your application to display relevant, contextual advertising content.

0.1.3 #

  • Ad disclaimers. When an ad carries disclaimer text, KoahCard now shows an info (ⓘ) affordance next to the "Sponsored" caption that opens a disclaimer bottom sheet. Surfaced on the model as the new nullable KoahAd.disclaimer; the affordance renders automatically with no integration changes.
  • Decoupled from flutter_secure_storage's API surface. Device-ID persistence now goes through an internal KoahSecureStore abstraction (with an injectable seam on Koah.instance), so plugin API churn across flutter_secure_storage majors no longer ripples into the SDK. Builds on 0.1.2's widened dependency ranges.

0.1.2 #

  • Widened plugin dependency ranges. device_info_plus now allows >=11.0.0 <14.0.0, flutter_secure_storage >=9.2.4 <11.0.0, and package_info_plus >=8.0.0 <11.0.0, so apps already on the latest plugin majors can resolve koah_flutter without dependency_overrides. Lower bounds are unchanged — existing resolutions are unaffected, and apps pinned to older plugin majors (e.g. for Android minSdk < 23) keep resolving exactly as before.
  • Embedded pub.dev example. A minimal chat-style KoahCard.withContext integration now ships in example/ and renders on the package's Example tab.

0.1.1 #

  • Docs-only patch. Corrects the pubspec.yaml dependency snippet in the pub.dev README (was stale at ^0.0.1). No SDK behavior changes from 0.1.0.

0.1.0 #

  • Unified requestAd API (v2). New Koah.instance.requestAd(adContext:, size:, cacheKey:), Koah.instance.prefetchAd(...), and Koah.instance.cancelPrefetchAd(cacheKey) post to a new /ad_requests endpoint that uses a discriminated KoahAdContext (Conversation / Article / Feed / Static) for matching, copy selection, and format eligibility — same shape as iOS, Android, and React Native. The new KoahCard.withContext(adContext:, size:, cacheKey:, ...) constructor takes the context directly. KoahCard(query:, messageId:, ...) still works against the legacy /query path but emits deprecation warnings; new code should adopt KoahCard.withContext(...).
  • Optional ad slot. requestAd / prefetchAd now accept an optional slot parameter that surfaces in matching and reporting — lets publishers tag a single page with multiple distinct ad placements without colliding on the cache key or muddying analytics.
  • Prefetch / resolveAd primitives for feeds. Koah.instance.prefetchAd(...) + KoahCard.fromCache(messageId:) let feed integrations warm a slot ahead of render and resolve it later when the cell scrolls into view. Avoids the "first frame is empty" problem in long feeds.
  • requestPreviewAd for publisher format previews. New Koah.instance.requestPreviewAd(previewFormat:) returns a deterministic sample creative for a given format (small / medium / expandable / poll), so publishers can wire their preview UIs without depending on live fill.
  • Poll ad format. Interactive multi-choice prompt with server-tracked option events and a clickable CTA with animated reveal. Renders inside KoahCard automatically when the server returns a poll creative.
  • Ad report flow. New Icons.more_horiz affordance on the ad caption opens a half-sheet (entry → reasons → submit) that posts to /k/report.
  • KoahTheme minimal styling API (breaking). Replaces KoahCardStyle and KoahCardOptions with a 4-knob KoahTheme applied via KoahThemeProvider. The knobs are colorScheme (KoahColorScheme.light / .dark / .auto), accentColor (defaults to #0D0D0D, text-on-accent auto-contrasted via WCAG luminance), fontFamily (null inherits from the host app), and cornerRadius. KoahColorScheme.auto resolves via MediaQuery.platformBrightnessOf and re-resolves automatically when the device theme flips. Matches iOS / Android / React Native exactly.
  • chrome: parameter for borderless embedding. New chrome: KoahCardChrome.standard (default — surface background, 0.5dp border, padding, rounded radius) / KoahCardChrome.bare (inline content; host surface owns the chrome) on every KoahCard constructor. Mirrors iOS's KoahCard(chrome: .bare) and Android's KoahAd composable.
  • KoahCard redesign port. Visual + interaction overhaul brings Flutter to parity with the iOS/Android/RN card refresh — same chrome, spacing, typography, and image treatment.
  • experimentTag on requestAd / prefetchAd. Optional tag forwarded with every ad request, so publishers can split-test creatives or surface variants without piggy-backing on the cache key.

0.0.5 #

  • Unified requestAd API (v2). New Koah.requestAd(adContext: ..., size: ..., cacheKey: ...), Koah.prefetchAd(...), and Koah.cancelPrefetchAd(cacheKey), plus public KoahAdContext (.conversation / .article / .feed / .static_), KoahAdSize, and KoahAdResult types. Posts to a new /ad_requests endpoint that uses the discriminated context for matching, copy selection, and format eligibility — same wire shape as iOS 0.7.0 and Android 0.0.16. Cached entries respect the server's expires_at.
  • KoahCard.withContext(adContext: ..., size: ..., cacheKey: ...) constructor. New context-based widget initializer that drives the V2 path. KoahCard.fromCache(messageId: ...) continues to read from cache for both legacy and V2 entries.
  • Deprecations (no behavior change). Koah.fetchAd / process / prefetch / resolveAd / cancelPrefetch and the legacy primary KoahCard(query:messageId:...) constructor are marked @Deprecated with replacement guidance. They continue to work against the older /query endpoint for now.

0.0.4 #

  • New Event Callback System: Added KoahEvent sealed class with lifecycle events (NoAdFill, AdServed, AdViewed, ImpressionTracked, AdClicked). Use the onEvent parameter on KoahSuffix to handle events.
  • Redesigned KoahSuffix Widget: New three-section layout with header (logo, brand, domain, "Ad" label), body (ad text), and CTA button.
  • Breaking: Refactored KoahStyle configuration - now uses KoahHeaderStyle, KoahBodyStyle, and KoahCtaStyle instead of previous fields. KoahContainerStyle now uses individual properties instead of a single BoxDecoration.

0.0.2 #

  • Fix dart conventions. Add formatting and switch from printing to using a logger.

0.0.1 #

  • Initial Suffix Ad component with impression tracking, auth management, url launching, styling, and basic widget lifecycle.
2
likes
160
points
45
downloads

Documentation

API reference

Publisher

verified publisherkoahlabs.com

Weekly Downloads

A Flutter package for integrating Koah ads into your application to display relevant, contextual advertising content.

Homepage

Topics

#ads #monetization #advertising

License

Apache-2.0 (license)

Dependencies

device_info_plus, flutter, flutter_secure_storage, http, logging, meta, package_info_plus, url_launcher, uuid, visibility_detector

More

Packages that depend on koah_flutter