traceable by default
latest admin actions
loading…
GemLord production
Sign in with an approved administrator account. Authentication alone never grants access.
live operations
Cached by default. Player totals update only when you ask.
Dashboard totals use cached summary documents. Refresh runs aggregation queries, never a full player download.
traceable by default
loading…
firebase budget
Search first. Open only the data you need.
Recent players performs up to 25 reads. Search results are cached in this session for five minutes.
directory
No list is loaded automatically. That keeps this page fast and inexpensive.
One versioned document controls the whole route. Cities are free to add; each always has nine stages.
Each city always has nine sequential stages. Publishing changes future starts only; earned stars and open sessions remain safe.
What every stage promises, against what its stored board actually measures. Regenerating never overwrites a board — it publishes a new one, so games already in progress still finish.
Build, validate, stage and publish levels without a client release.
The client ships with 2,000 deterministic fallbacks. A published level with the same id replaces its fallback; drafts never reach players.
catalog runway
content safety
Checks board geometry, masks, difficulty rating, archetype, mechanics, goals, moves, rewards and star thresholds.
level editor
first 200 records
One compact catalog controls five zones and 30 side-quest stages in English and Arabic.
The app caches one document and keeps 30 solver-validated boards offline. Board rows use 1-9 for numbers and a dot for an empty cell; existing sessions are never rewritten.
Control every app-supported collectible from one low-read document.
Remote Config opens the Collection feature. This catalog controls which items can be bought, their server-authoritative coin prices, and everything the app shows about them — name, copy, rarity, shelf, artwork family and colour. The only thing the app still owns is the glyph drawn inside the artwork.
shelves
A shelf groups items across kinds. Order decides where it appears in the app; an item on a shelf that no longer exists blocks the publish.
app-supported products
Compose, validate, schedule, and operate one bounded seasonal journey.
Published economics are immutable. Seasons are capped at 25, player progress is one compact document, and this page never scans players.
identity & schedule
immutable after publish
server evaluated
Edit compact JSON. Supported rule kinds: solve_any, solve_mode, solve_clean, solve_no_hints, solve_difficulty, pair_pulse.
guarded lifecycle
Every mutation requires a reason, explicit confirmation, actor identity, request ID, and audit record.
Compose once, deliver through FCM without reading the player directory.
One document for everyone; one write only when a player claims.
AdMob and Unity — alone, mediated, or as a waterfall. No release needed.
Remote Config still owns the kill switches. ads_enabled, rewarded_ads_enabled and interstitial_ads_enabled decide whether any ad shows at all, and the interstitial pacing caps live there too. This page decides which network serves them. Devices pick changes up within an hour, or on the next cold start.
integration
Leave a field empty to keep whatever the build was compiled with — which today is Google's demo inventory. A demo unit earns nothing and grants its reward on the device, because it never calls the verification endpoint below.
server-side verification url
load this tab to see it
Paste into AdMob → each rewarded unit → server-side verification.
unity
Game ids are per platform and digits only. Placement names must match the Unity dashboard exactly, including case.
redeem callback url
load this tab to see it
Ask Unity support to enable S2S redeem callbacks for the game id, give them this URL, then store the secret they return with firebase functions:secrets:set UNITY_ADS_SECRET. Server-side redeem stays off until that is done.
waterfall
Only used in waterfall mode. The second network is asked when the first has no fill — a genuine no-fill, not an error.
per placement
Pin one placement to a network without moving the rest, and set what it pays. Coins are granted by the backend after verification — the client never decides. Placements that grant an effect rather than currency stay at zero.
Existing tools, reorganised and guarded.
daily content
legacy content safety
competition
prize integrity
versioned switches
Ads, prizes, purchases, and risky features stay behind rollback-able Firebase flags.
open firebase config ↗Recent sensitive operations and anti-cheat reports, capped at 25.
immutable trail
open this page to load.
review queue
not loaded.
owner-only destructive operations
Permanent deletion is never exposed in the normal player drawer. Use the protected account lifecycle process with export and legal review.