Branch Distribution

Recent Signups

Trend

Loading…

Daily trend

Institutions

Daily trend

Tool usage

Settings changed

Note types

Hour of day

Per board

Per college

Per department

NamePhoneBranchSemCollegeFCM TokenStatusLabelsActions
📱
--
Push-Enabled Devices
🚀
--
Campaigns Sent
👥
--
Total Active Students

Campaign History

Title & Message Target Audience Delivered / Target Status Sent Time
College Board Username Department Status Last login Backups Storage Actions
Loading smartboards...
Type Target Preview Reason & Details Reporter Reported Date Status Actions

Kill-Switch

OFF

Nothing selected = students + institutions. Institutions are ordinary accounts in the same users table, so select Students to keep college or segment targeting from locking them too. Smartboard boards are locked only when Smartboards is explicitly selected; they are NOT counted in the campaign countdown because boards do not report app versions.

Nothing selected = everyone

Nothing selected = everyone

Nothing selected = everyone

Nothing selected = everyone

Nothing selected = everyone

Users below this version are out of scope and never locked. Users from here up to the updated version are locked. Leave empty to include every version.

Users at or above this version are released, whatever the segments say, and count down to zero. Both fields empty = every version (pure kill switch). Minimum alone = lock everyone below it until they update.

Only enable once this exact version is live on Play. If Play serves an older build, updating cannot clear the gate.
Clients pick this up on next app launch or resume. Existing locked users stay locked offline.

Live campaign

Refreshes every 20 s while this page is open

Loading campaign…

Loading app updates...

Release and patch

Only devices on the selected base release can receive its patch.

Select a release to load patches from the server.

Publication status

Select a prepared patch.

Update intro

Shown once per account after this patch activates. The first publication attempt locks the intro, even if the request fails. Review your text before publishing; a different intro needs a new patch.

0 / 100 characters

0 / 2000 characters

Drafts stay in this tab until it is closed or reloaded.

Publish requires a staging or beta patch, or an already-stable patch for a retry. Rollback requires a live stable patch.

Prepare a patch and check its limits

Create and test a patch for the selected base release in your development terminal, then select Refresh here:

shorebird patch android --release-version <selected-version> --track staging

This page never executes commands or creates patches. Native code, plugin or asset changes may need a new store release; do not assume any change can ship as a patch.

Kill Switch

OFF

Keep this OFF until your AdMob account is fully verified (payments profile + address PIN). Flipping it ON starts serving ads to users on their next app launch; flipping it OFF stops them the same way. Nothing here needs a rebuilt APK.

Ad Unit IDs

From AdMob → Apps → NoteShuttle → Ad units. Leave a field empty to use the ID already built into the app. A malformed ID is rejected, never silently ignored.

Break Behaviour

AdMob allows at most one interstitial per two user actions, and Google flags apps that chain consecutive interstitials ("Made for Ads"). The app enforces 2 / 60s / 50 as hard limits, so safer values here are respected but more aggressive ones are pulled back.

Audience & Consent

Under-18 users are always tagged for consent and downgraded to T, whatever is set here.

Who Sees Ads

Use "Only the listed user IDs" while AdMob is still verifying: real ads reach only your own account, so you can prove the break works without exposing every student to a misconfigured unit.

Ads need Play Console → Store presence → "Contains ads" set to Yes before release, plus an app-ads.txt served from your developer site. Ads are not allowed to run while the app is in closed testing.