Start here
Production checklist
What to check before a Voxera integration goes live.
Credentials
- The Server Secret, Callback Secret and App Certificate are only on your server, not in your app or its repository.
- You've decided how users join. See Which way to join.
- If you use the App Key, you know how to rotate it and ship a new build.
Project setup
- Every type you use is enabled under Service Management. A type that isn't returns
403. - For video, Maximum Video Quality Tier matches the budget you expect.
- Your expected concurrency fits the project's limits. See Rate limits.
Your app
- Microphone and camera permissions are declared on both platforms, with a clear reason string.
userIdvalues are stable and unique per user, androomOwnerIdcomes from your own data.VoxeraMediaClient.initializeForRoom()runs first inmain()if anything touches WebRTC before the first room opens. See Connect and publish.- You've tested a poor network, a phone call during a room, and returning from the background.
- You've called
warmUpwhere it helps. See Fast first join.
Your backend
- Gift points post to
POST /api/v1/pk/:battleId/scoreonly once per gift, because the engine doesn't de-duplicate them. See PK battles. - Your webhook handler verifies signatures, responds quickly, and tolerates the same event arriving twice. See Webhooks.
- You handle
429responses and don't retry them immediately.
Billing
- Someone is watching
balance.low_warningandbalance.grace_started, by webhook or email, so a low balance doesn't take rooms offline. See Low balance and suspension. - You've checked the console's usage pages against a real test session.