$20.5M Series A led by Theory Ventures. Read more →

BlogProduct

Koah SDK 1.0 is now available

Mike Choi

Koah SDK 1.0 is now available for iOS, Android, Flutter, and React Native.

Version 1.0 introduces better impression measurement, a simpler ad request model, more flexible sizing, more accurate event timing, and clearer versioning going forward.

If you are already running a 0.x version of the Koah SDK, the upgrade should be relatively small for most integrations. Here is what changed and why it matters.

A stable versioning model going forward

Everything before this release was a 0.x SDK. Starting with 1.0, Koah will follow standard semantic versioning:

  • Patch releases — 1.0.x: bug fixes, performance improvements, and implementation changes that should not affect your integration.
  • Minor releases — 1.x: new functionality added without breaking existing integrations.
  • Major releases — 2.0, 3.0, etc.: changes that may require updates to your code.

When we need to replace an API after 1.0, we will generally deprecate the existing version first, surface warnings in your development environment, and remove it only as part of a future major release.

There is another useful architectural benefit here. Ad formats are delivered dynamically by Koah rather than being hard-coded into the SDK.

That means we can introduce new formats without requiring publishers to release a new version of their app. And if an older SDK encounters a format it does not support, it simply ignores that format rather than failing.

Impression tracking now includes viewability

Previously, Koah recorded an impression when an ad was rendered into the application layout.

With SDK 1.0, impression measurement is based on actual viewability.

An ad must be visible on screen before an impression is recorded. If the ad is:

  • outside the visible viewport,
  • obscured by another element, or
  • clipped by a parent view,

it does not count as an impression.

For publishers with feeds, long AI conversations, or other scroll-heavy interfaces, this may reduce reported impression volume.

It also means downstream metrics such as CTR should become more meaningful because the denominator represents ads users had an opportunity to see — not simply ads that were inserted somewhere into the UI.

Improved clarity on app review declarations

SDK 1.0 also tightens several areas related to privacy, age handling, and device identification.

Privacy disclosures are more complete. Koah still does not track users across apps, but the SDK's privacy declarations now more completely describe its behavior.

Requests indicating an age under 13 are not served ads. This provides a clearer guardrail for applications that collect or pass age information.

Device identification is more accurate. We improved how the SDK identifies devices and sessions, which should improve measurement without introducing cross-app tracking.

For publishers, the practical benefit is straightforward: the SDK's behavior is more explicit and easier to reason about when preparing an app for review.

One consistent way to request an ad

Earlier versions of the SDK accumulated several different ways to request ads as the product evolved.

In 1.0, those paths are consolidated into a Unified Ad Request Framework.

Instead of choosing between different request APIs, your application describes the surface where the ad will appear. For example:

  • chat or conversational interface,
  • article,
  • feed,
  • static placement.

Koah uses that context to determine the appropriate ad experience and creative treatment.

That matters because not every Koah integration is a chatbot. A summarization app, content reader, search product, or feed should not need to masquerade as a conversation just to request a relevant ad.

The response model is also explicit. Your application can clearly distinguish between:

  • an ad being returned,
  • no eligible ad being available, or
  • a request failing.

It sounds like a small API improvement, but it makes application behavior much cleaner. If there is nothing to show, you can confidently collapse the placement instead of reserving empty space or guessing what happened.

More flexible ad sizing

SDK 1.0 gives publishers substantially more control over how ads fit into their interfaces.

Width and height can now be configured independently. For either dimension, you can:

  • specify an exact size,
  • provide an allowed range,
  • tell the ad to fill the available space, or
  • leave the dimension unspecified and allow Koah to size the ad automatically.

Previous versions primarily allowed publishers to specify maximum dimensions.

That behavior is still supported, so you do not need to introduce additional layout complexity if the existing model works for your application. The difference is that more sophisticated interfaces now have much more precise control.

Analytics events now reflect when something actually happened

In SDK 1.0, events record the timestamp of the actual user interaction or view rather than the time the event reaches Koah's servers.

If you ingest Koah events into your own analytics pipeline, this means impression and click events should align more accurately with the rest of your application telemetry.

For most applications the difference will be measured in milliseconds or seconds. But when you are reconstructing sessions, analyzing funnels, or joining events across multiple systems, those differences matter.

Upgrading from 0.x

One important caveat: the move from 0.x to 1.0 is a breaking upgrade.

The previous APIs were removed rather than deprecated, so an existing 0.x integration will need to update its Koah calls before the project will compile against 1.0.

For most integrations, there are only a handful of places to change.

And there is no emergency: existing 0.x SDKs will continue to operate. You can upgrade on your own schedule. Staying on 0.x simply means you will not receive the improvements and new functionality introduced through the 1.x release line.

Using a coding agent?

We wrote the migration guides to work well with tools such as Claude Code, Cursor, Codex, and similar coding agents.

For example, an iOS migration can start with a prompt like:

Migrate my Koah iOS SDK to 1.0. Read https://docs.koahlabs.com/sdk/ios/migration and apply it to this project.

Use the equivalent migration guide for your platform and the agent should be able to handle most of the mechanical changes.

Install SDK 1.0

PlatformInstall
Androidimplementation("com.koahlabs:koah-android:1.0.0")
iOSSwift Package Manager — Up to Next Major Version from 1.0.0
Flutterkoah_flutter: ^1.0.0
React Nativenpm install --save-exact koah-react-native@1.0.0

If you were testing one of the 1.0 beta releases, replace the beta version pin with 1.0.0.

Migration guides for iOS, Android, Flutter, and React Native are available in the Koah documentation.

What 1.0 really represents

Publishers should not have to think about Koah's SDK every time we improve the ad product. The SDK should give applications a stable way to describe where an ad belongs, render it correctly, measure what users actually saw, and then get out of the way.

SDK 1.0 is the foundation for doing that.

If you run into an issue, email support@koahlabs.com.

Your AI app is missing native ads.

Start earning with Koah in minutes.