Skip to content

Your app's users already take calls. Now your app earns from them.An Android app monetisation SDK, with no ads and no new screens.

Jingle is an Android plug-in. Users who opt in receive international calls on the normal incoming-call screen, and you earn a share of every completed minute. No ads, no new screens, no upfront cost.

50% revenue share. A dedicated integration engineer. Revenue is not guaranteed. Read the SDK brief

of net termination revenue, typically, set in your partner agreement
50%
of net termination revenue, typically, set in your partner agreement
revenue share paid by wire
Monthly
revenue share paid by wire
payment threshold; smaller amounts roll over
$100
payment threshold; smaller amounts roll over
upfront to integrate
$0
upfront to integrate

Terms as published on jingleplugin.com. Revenue depends on your users, their geography and usage, market rates and your partner agreement. It is not guaranteed.

Every new revenue line costs you something.

More ads mean more interruptions, slower screens and heavier data use. Paywalls and subscriptions turn away the users who will not pay. Every monetisation choice you make trades against the experience you built.

  • Ads compete for the screen.

    Banners and interstitials take space, attention and data.

  • Ad revenue depends on the auction.

    Fill rates and bids move without you.

  • Most users never pay.

    Subscriptions and in-app purchases earn from a minority of your audience.

Jingle earns from completed international calls instead of from ads, so it stacks on top of what you already earn instead of competing with it.

Four steps from install to payout.

International calls travel the global telephone network every day, and every one needs an endpoint to reach. With Jingle, users who opt in receive some of those calls through your app: same call, same quality, same experience. You earn a share of the revenue.
The Jingle demo app welcome screen listing how it works: simulation-based calls, permissions, OTP verification, complete all steps
The Jingle demo app home screen with System Permissions and Plugin Activation completed, a Deactivate link, and a call simulation ready to start
A simulated incoming Jingle call with Answer and Decline buttons
The Jingle demo app Settings screen with Factory Reset, Privacy Policy, Terms and Conditions, EULA and Log Out
  1. 01

    Integrate

    Add one dependency to your Android app. No new user-facing screens to build, and a dedicated integration engineer works alongside your team.

  2. 02

    Users opt in

    Users see a plain-language explanation of what Jingle does, agree, grant permissions with a reason for each, and confirm with a one-time SMS code. Nothing activates before that.

  3. 03

    Calls arrive

    International calls ring on the incoming-call screen users already know. They answer or decline like any other call. If they are already on a call, Jingle sends the call elsewhere.

  4. 04

    You earn

    Every completed minute earns termination revenue at wholesale rates, and you keep a share of the net. Track it live in your partner portal; get paid monthly.

Screens from the Jingle demo app, which runs on simulated calls. Users stay in control in Settings. Your earnings show in the partner portal.

How Jingle earns: app, SDK, call minutes, revenue share, payout Five stages top to bottom: your Android app, the Jingle SDK with consent, call minutes, a share of net termination revenue (typically 50 percent), and a monthly payout. Revenue is not guaranteed. 01 Your Android app Adds the Jingle plug-in: one dependency, with an engineer beside you. 02 Jingle SDK Users opt in with clear consent and an SMS code. They can switch it off. 03 Call minutes Calls ring on the normal call screen. Every completed minute counts. 04 Revenue share You earn a share of net termination revenue, typically 50%. 05 Payout Monthly wire within 30 days of month-end, once past the threshold. Illustrative mechanism. Revenue is not guaranteed: it depends on your users, their geography, opt-in and market rates.
A person in an armchair at home holding an Android phone that shows the Welcome to Jingle screen explaining how the demo works

Just like any other call.

A Jingle call rings on the same incoming-call screen your users already know. They answer and talk, or decline. There are no ads and no new screens to learn, and they can switch Jingle off whenever they like.

Consent first, every time

  • A clear explanation of what Jingle does and what data it uses, shown before anything is asked.
  • An explicit "I Agree", then the standard Android permission dialogs, each with a plain reason.
  • A one-time SMS code on the user's own number to confirm the opt-in.
  • An off switch in settings. Turning it off, or removing a permission, pauses Jingle straight away.
“Turn on Jingle and your phone can receive international calls through the network. They come in as normal calls you can answer.”

From the consent screen Jingle ships.

Your share of every completed minute.

You earn a share of the net termination revenue from every completed minute on your opted-in users' devices, typically 50%, set in your partner agreement. No ad inventory, no fill rates, no auctions.

Opted-in users x minutes per user per month x revenue per minute x your share

Revenue is not guaranteed. It depends on your users, their geography and usage, market rates, traffic volumes and the terms of your partner agreement.

What moves the number

  • Where your users are: some destinations earn higher per-minute rates than others.
  • How many users opt in.
  • Call demand on the network at the time.

Getting paid

  • Monthly wire transfer, within 30 days of month-end.
  • Paid from $100; smaller amounts roll over to the next month.
  • A monthly statement with call volumes, durations, rates and your share.
  • No upfront cost, and the portal is included.

One dependency. A handful of calls. An engineer beside you.

Add the plug-in, gate on permissions, verify the user with an SMS code, and start the call service. Eight methods take you from install to live calls, and every partner gets a dedicated integration engineer. You go live as fast as your team can integrate.

  • Android 8.0+ (minSdk 26)
  • Native Kotlin; works in Flutter and React Native apps
  • Opt-out in one call: deactivate()
  • Roll out by country, app version or user group, and pause remotely
// app/build.gradle.kts
implementation("io.minutesnetwork:jingle-fullservice:5.6.0")

// Gate on permissions, then start the foreground call service
private fun startSdkIfReady() {
    if (!JinglePermissions.check(this).allGranted) return
    JingleAdapter.getInstance(this).start(JingleStartParameters(
        serviceTitle = getString(R.string.call_service_title),
        notificationIconRes = R.drawable.ic_notification
    ))
}

// SMS one-time-passcode consent flow (keep off the main thread)
val jingle = JingleAdapter.getInstance(context)
val sessionJwt = jingle.sendSmsChallenge(phoneNumber, "your_app_id")
val verifiedJwt = jingle.verifySmsChallenge(sessionJwt, codeEnteredByUser)
jingle.activate(JingleActivationParameters(verifiedJwt))
  1. 01

    Set up

    Keys issued, plug-in in your dev build, test in the sandbox. Meet your integration engineer.

  2. 02

    Build

    Wire up the call screen, the consent and disclosure flow, and microphone permissions.

  3. 03

    Test

    End-to-end testing and a compliance review with your engineer, including battery and data use.

  4. 04

    Launch

    Production keys, a phased rollout, and revenue tracking in the partner portal from the first opted-in user.

Every minute and every dollar, as it happens.

The partner portal is live from day one: revenue as it comes in, minutes terminated, opted-in users, call quality, and reports your finance team can export. No black box, no waiting for a monthly statement.

Portal access is included with the partnership. Your integration engineer issues credentials during onboarding.

A person on a sofa at night holding an Android phone showing an incoming Jingle demo call with Answer and Decline buttons
  • Revenue

    Your share, accruing per day, per month and lifetime.

  • Minutes

    Every minute your user base terminates, counted as it happens.

  • Opted-in users

    How many users completed the opt-in, and how that trends.

  • Call quality

    Quality scores, jitter, packet loss and completion rates.

  • Geography

    Where your traffic terminates, with per-destination detail.

  • Exports

    CSV and PDF reports for finance and BI, on your schedule.

Built for Google Play policy, with help at submission.

Jingle ships the consent pattern Google Play's disclosure rules call for: a prominent disclosure before any permission request, runtime permissions tied to a feature the user understands, and an off switch that is always available. Your integration engineer reviews your consent flow, disclosures and Data Safety form before you submit.

Google Play makes its own decisions on every app. We help you prepare a clear, accurate submission.

What you get

  • Reference consent screens and template disclosure copy
  • A field-by-field Data Safety mapping for every data type the plug-in handles
  • Android 14+ foreground service declarations shipped in the SDK's own manifest, so there is nothing to redeclare
  • Reviewer response templates for your submission

Your submission checklist

  1. 1Privacy policy URL
  2. 2Data Safety form
  3. 3A video of the consent flow
  4. 4Disclosure copy that names Jingle
  5. 5Target API 35 (Android 15)
  6. 6Reviewer login details

Only what a call needs.

Jingle uses

  • Microphone, for live call audio processed in real time and never recorded
  • Network and connection status
  • The country code of the verified phone number, to route calls to the right region
  • A pseudonymised device token

Jingle never touches

  • Contacts uploaded, messages, photos or browsing history
  • GPS or location permission
  • IMEI, Android ID or advertising IDs
  • Audio recordings

Jingle data is used only to run the voice network and is never used for third-party advertising. An optional, skippable contacts permission can show saved names on the incoming-call screen; contact data stays on the device. Data processing agreement available on request.

Light on the device.

  • Works only while a call is being handled, so there is no continuous background drain
  • A visible notification during every call
  • A push wake-up when a call is available, instead of a service always running
  • Works over Wi-Fi and mobile data

Android apps with active users around the world.

Apps with large, active and geographically concentrated user bases are usually the strongest fit.
  • Gaming

    Users play for long sessions. A Jingle call arrives as an ordinary call; then it is straight back to the game.

  • Fintech

    A new revenue line alongside the products you already offer.

  • Social and messaging

    Users already trust the app with communication.

  • Utilities

    Always-on apps with long install lifetimes.

  • eCommerce

    Large international user bases.

  • Communication

    Voice apps with permission flows already in place.

Revenue is paid to you. You decide whether and how to reward your users: callback events let you offer data top-ups, in-app credits or premium features if you choose.

Questions

Will this annoy my users?
No. Jingle calls ring like any normal incoming call, which users can answer or decline. It is active only for users who opted in, and only while a call is being handled. If a user is already on a call, Jingle sends the call elsewhere.
How much work is it for my team?
Add the io.minutesnetwork:jingle-fullservice dependency, initialise the JingleAdapter and add the consent flow. Every partner gets a dedicated integration engineer.
Does it replace my ads or subscriptions?
No. Jingle adds a revenue line alongside ads, subscriptions, in-app purchases or paid features.
Do I have to change my app's UI?
Only the consent, disclosure and permission flows. Your core interface and user journey stay as they are.
Can I roll it out gradually?
Yes. Roll out by geography, app version or user group, test in a limited market first, and pause or adjust Jingle remotely without an app update.
When and how do I get paid?
Earnings are calculated at the end of each month and paid by wire within 30 days of month-end, once your share passes $100. Smaller amounts roll over.
Is revenue guaranteed?
No. It depends on where your users are, how many opt in, market coverage, and call rates and demand.
What does Jingle access?
Network status, battery level, the microphone for live call audio (processed in real time, never recorded) and the country code of the verified number. No location permission, no GPS, no photos, messages or browsing history.
Can users turn it off?
Yes, at any time in your app's settings. Removing consent or a required permission pauses Jingle.
What happens when my app is closed?
Jingle uses Android's standard mechanisms: a foreground service with a visible notification during a call, and a push wake-up as a fallback. Nothing runs for users who have not opted in.
Does it work with Flutter or React Native?
Yes, through each framework's standard native-module path, with help from your integration engineer.

Add a revenue line your users never have to look at.

No upfront cost. A share of every completed minute. A dedicated integration engineer, and a go-live pace set by your team.Revenue is not guaranteed. Terms are set in your partner agreement.