Earn more from every ad in your app.

One SDK lets Google, AppLovin, Unity Ads and more bid on each ad slot. No network accounts to open, one payout to you.

One SDK for

  • Androidfirst
  • iOS
  • Unity
  • Flutter
  • React Native

One rewarded ad, sold in 83 ms.

  1. 01

    Your app asks for an ad

    One request goes out, with a timer.

  2. 02

    The networks bid

    Each sends a price before the timer ends.

  3. 03

    The best bid shows

    The highest price wins. The rest are dropped.

  4. 04

    You get paid

    The win is credited to your app.

Winning bid$4.20
AppLovindecided at 83 ms
Credited to Example Puzzle$0.0042

Every format your app shows.

Each one goes to the same auction, so every slot earns its best price.

Rewarded

Players choose to watch, and get a reward in your game.

Interstitial

Full screen, between levels or screens, closed in one tap.

App open

Shown while your app starts, then straight into it.

Banner

A strip at the top or bottom that refreshes on its own.

Native

An ad in your own layout, in the feed between your content.

Three steps to your first auction.

  1. Add the SDKOne dependency, one place to update.
  2. Start it with your app keyFormats, floors and caps come from your dashboard, not your build.
  3. Show an adAsk for a placement; the auction runs before it appears.

SDK preview: names may change before the release.

// build.gradle
implementation("com.weforapp:sdk:0.1.0")

// Application.onCreate
WeForApp.start(this, appKey = "YOUR_APP_KEY")

// When the level ends
WeForApp.rewarded("level_end").show(activity) { reward ->
    coins += reward.amount
}

The request, and the winning reply.

The auction speaks OpenRTB, the standard that ad exchanges use.

bid-request.jsonSent by the SDK
{  "id": "req-7f3a",  "imp": [{    "id": "1",    "video": { "mimes": ["video/mp4"], "w": 1080, "h": 1920 },    "rwdd": 1,    "bidfloor": 2.00  }],  "app": { "bundle": "com.example.puzzle" },  "device": { "os": "android" },  "tmax": 100}
bid-response.jsonReturned by the winner
{  "id": "req-7f3a",  "seatbid": [{    "seat": "applovin",    "bid": [{      "id": "b-1",      "impid": "1",      "price": 4.20,      "adomain": ["example.com"],      "crid": "cr-118"    }]  }],  "cur": "USD"}

Every impression, accounted for.

One dashboard shows each network’s bids, wins and earnings as they happen.

Sample data.

The networks we’re connecting.

Google

AdMob and Ad Manager demand

AppLovin

SDK bidding

Unity Ads

SDK bidding

Mintegral

SDK bidding

InMobi

SDK bidding

BidMachine

SDK bidding

Pangle

SDK bidding

OneTag

Server-side bidding

Open bidders

OpenRTB through Prebid Server

We hold an account with each network listed here.

Every network. One payout.

Every network pays us. We add it up, check it against the auction log, and send you one transfer.

  1. CollectedEach network’s earnings, in its own currency and on its own date.
  2. CheckedMatched win by win against the auctions your app ran.
  3. PaidOne transfer to you. Payment dates: to be announced.

Network by network, or one account.

On your own

  • An account and an approval at every network
  • A separate SDK to update for each one
  • Mediation rules to set up and tune yourself
  • A payout, a currency and a date per network
  • Reports spread over several dashboards

With WeForApp

  • One account, with us
  • One SDK
  • An auction on every impression, run for you
  • One payout
  • One dashboard

Built for consent and clean traffic.

Consent goes with every bid

TCF 2.2 and US privacy signals, and Apple’s tracking choice on iOS, reach every bidder.

app-ads.txt, written for you

Your dashboard lists the exact lines to publish, then checks your site for them.

Invalid traffic filtered

Requests that look automated are dropped before any bidder sees them.

Calm for your players

Frequency caps and an off switch for every placement, changed from the dashboard.

What we hold, what you get.

Do I need my own network accounts?
No. The ads run on our accounts.
How am I paid?
One payout covers every network. Payment dates: to be announced.
Which platforms come first?
Android. iOS, Unity, Flutter and React Native follow.
Which ad formats can I use?
Rewarded, interstitial, app open, banner and native.
Can I keep my own AdMob account?
You don’t need one: the ads run on our accounts. Tell us about your setup when you request access.
How much work is it to add?
A few lines of code once the SDK is out. Formats and floors live in the dashboard.
Who is behind WeForApp?
The team behind WeForAds.

Your app in the first auctions.

We’ll write when early access opens for your app.