Google Play closed testing

See which of your 12 testers is actually there.

Play Console gives you a number. This gives you the names, the days and the minutes, measured on the device rather than promised in a screenshot. And the people you test in return are watching the same numbers about you.

  • No payment, no points
  • About 1 minute a day per app
  • Drop anyone, any time

Why a count is not enough

Three things are true at once, and together they are why 14 days can be spent and still fail.

  • 12 testers, 14 daysIn a row, before a personal developer account may publish. One opt-out restarts that tester’s run of days.
  • A count, never a namePlay Console shows how many testers are opted in. No screen and no API tells you which of them still opens the app.
  • “Insufficient tester engagement”A documented rejection reason. It does not say who went quiet, and by then the 14 days are spent.

This is what you get

One row per tester, on your app’s page, updated as the heartbeats land.

An example: a made-up app with made-up testers, never your own data.

Cherri · 4 of 16 testers shownon track 11 / 12 · earliest apply date 20 Oct · buffer +4
TesterPairedInstallActive daysLast activeState
Tester 12 OctPlay13todayfine
Tester 22 OctPlay11todayfine
Tester 33 OctPlay43 days agosilentDrop
Tester 44 Octsideloaded0nevernot counted

Every number there came from the app itself; what a tester says about themselves is shown in grey and is never counted as evidence. Silent is 3 local days without an active day, and it is the owner who drops — the platform never does.

4 steps, about 15 minutes

Then about 1 minute a day in each app, for as long as the test runs.

  1. Register your app2 minutes

    Package name, how many testers you want, and the rules a tester signs up to. Nothing else.

  2. Put the reporter in your buildrequired10 minutes

    One line in pubspec.yaml and one call in main(), or the two REST calls if you are not on Flutter. Then a closed-track build.

    Without this step nothing can be measured. The site can still show what testers say about themselves, and a self-report is not evidence — which is the thing this page exists to replace.

  3. Share your link1 minute

    One address carries the group, the opt-in and a personal install link. You paste the addresses that come back into your Play tester list; the site tells you which ones are new.

  4. Watch, drop, replacea daily glance

    The ledger names who opened the app today. Drop someone who stopped, and the site hands you replacements the same hour.

What you give back

You test the apps of the people who test yours, for as long as they keep testing yours, about 1 minute a day each. The board shows who is waiting on you, and until you have paired with them you cannot take a new seat. That rule is the whole product: everyone can see whether the other side turned up.

Asking for 16 seats is ~16 apps × 1 min/day × ~17 days ≈ 4.5 h of your own time.

What the reporter does, and does not

Open source, on pub.dev, and short enough to read in one sitting. There is no function in it that accepts data from your app, so there is nothing to leak — what it merges into your manifest, when it sends and what is in each request are quoted on the SDK page, and every line of the source is one click further, on pub.dev.

It does

  • Reads the Play install referrer once, to know which tester this install belongs to.
  • Times how long the app is in the foreground and sends one number a day; 60 seconds of it makes the day count.
  • Sends one fixed record and no other: a protocol version, your package name, a random install id, the token from their link, which of the two links carried it, the local day, its timezone offset, the foreground seconds, the session count, the build number, the reporter’s version, the Android API level, the package that installed you, the package that started the install and when it was sent. The server rejects any field that is not on that list.

It does not

  • No login, no Cloud project, no Play Console permission, no manifest of your own to edit.
  • No location, no contacts, no advertising id, no screen names, nothing from inside your app.
  • No traffic at all from an install that did not come through a tester link, and none at all on iOS.

12 people, 14 days, and no guessing.

Sign in with the Google account your phone uses for Play. Registering an app takes 2 minutes.