Skip to content
Bright Face AdsBright Face Ads
SDK · v1.0.0

Three lines to your first ad, on any platform.

A typed, OpenRTB-native SDK for Android, iOS, Java, Scala, Python and Go. Initialise, request, render. The engine handles the auction, mediation and reporting.

6
Platforms
3
Lines to first ad
<90ms
Auction latency
ad-slot.tsapp.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import { BrightFace } from "@brightface/sdk";

// 1 · initialise with your API key
const bfa = BrightFace.init({
  apiKey: process.env.BFA_KEY,
});

// 2 · request an ad for a slot
const ad = await bfa.requestAd({
  slot: "home-feed",
  formats: ["video", "image"],
  floorCpm: 4.5,
});

// 3 · render the winning creative
ad.render("#ad-slot");
$ bfa demo --slot home-feed
✓ ad served · 78ms · $5.91 CPM

From install to impression in three calls.

1

Initialise

Drop in your API key once when your app boots.

BrightFace.init(apiKey)
2

Request

Ask for an ad for a named slot and format.

bfa.requestAd("home-feed")
3

Render

Show the winning creative, in under 90ms.

view.render(ad)

Supported platforms

First-class clients, each idiomatic to its language.

Androidkotlin
iOSswift
Java
Scala
Python
Go

Install & quickstart

build.gradle.kts
kotlin
dependencies {
  implementation("com.brightface:sdk:1.0.0")
}
AdSlot.kt
kotlin
val bfa = BrightFace.init(apiKey = BuildConfig.BFA_KEY)

val ad = bfa.requestAd(
    slot = "feed-native-1",
    formats = listOf(Format.VIDEO, Format.IMAGE),
    floorCpm = 4.5,
)
adView.render(ad)

Built for engineers, not just integrations.

Typed & idiomatic

First-class types and APIs that feel native to each language.

OpenRTB-native

Speaks the protocol end to end, no glue code to maintain.

Lightweight

A small footprint that won't bloat your app or build.

Mediation built-in

Blend demand sources and maximise fill automatically.

Privacy-first

Consent-aware, with minimal data collected by default.

Resilient

Graceful fallbacks, caching and retries when the network drops.

What runs where.

Every client speaks OpenRTB; capabilities differ by platform.

SDKAndroidiOSJavaScalaPythonGo
Video creative
Image & native
Rewarded video
Client mediation
Server-side auction
Offline cache

Placeholder capability map, confirmed per SDK release.

See it running

Watch the SDK serve a live ad.

A 60-second walkthrough from install to rendered creative.

Latest releasev1.0.0May 2026
  • Initial public release across six platforms
  • OpenRTB 2.6 bid request and response support
  • Native, banner, interstitial and rewarded formats
  • Built-in mediation and yield reporting

Let's put your brand on the brightest screens.

Launch a campaign in days, not weeks.

Talk to our team