Skip to content
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.
  • userId values are stable and unique per user, and roomOwnerId comes from your own data.
  • VoxeraMediaClient.initializeForRoom() runs first in main() 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 warmUp where it helps. See Fast first join.

Your backend

  • Gift points post to POST /api/v1/pk/:battleId/score only 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 429 responses and don't retry them immediately.

Billing

  • Someone is watching balance.low_warning and balance.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.