Daily Meet Wiki / Third-party services

Third-party services

Every external provider the platform depends on, and whether it's split between testing and production or deliberately shared.

Payments

ProviderUsed forTestingProduction
RazorpayWallet recharge (UPI/cards/netbanking)Test modestill test mode — live keys pending
CashfreeWallet recharge (third provider, added 2026-09-23)Sandboxstill sandbox — live keys pending
RevenueCat / IAPIn-app purchases (Play Store/App Store)Test Store key (build-time dart-define)Real store IAP — no separate URL, store-managed

Admin selects exactly one active recharge provider at a time (App Config → Payments) — there's no in-app "choose your gateway" screen. Whichever provider is live, real money doesn't move on production until its keys stop being test/sandbox — see Environments.

Identity & push

ProviderUsed forSplit?
Firebase (User project vibeconnect-7c601)Phone OTP auth, push notifications, Analytics, CrashlyticsSame project shared across testing/production; each build flavor is its own app inside it — see App identifiers
Firebase (Host project hostvibeconnect)Same, for the Host AppSame pattern, separate project (always has been, independent of staging/prod)
MSG91Alternate OTP provider, selectable per-app from Admin PanelShared

A separate Firebase project per environment was considered and explicitly declined (2026-09-24) to keep the setup simple — this is a deliberate choice, not an oversight.

Calls

ProviderRoleSplit?
AgoraPrimary call provider (audio + video)Shared App ID/certificate
Daily Meet WebRTC (self-hosted)Alternate call provider, backend picks per callShared coturn/Cloudflare TURN config
Cloudflare TURNPreferred TURN path for the self-hosted WebRTC providerShared
GetStream VideoVideo calls only, until the self-hosted WebRTC video path is fixed (audio still uses webrtc/Agora)Shared

The backend assigns Agora or WebRTC per call and locks it — an in-progress call never switches provider mid-call even if Admin changes the default.

Marketing / analytics

ProviderStatus
Meta (Facebook) App EventsOne shared Meta app ("Dailymeet", App ID 1402598491976670) for both User and Host apps — Host events are separated by an app param, Host sign-up is a custom host_registered event, never counted as a standard registration. App is currently In development (not Live) — real users' events aren't counted until it's published; Privacy Policy URL/icon/category still need to be filled in on the Meta side. Android/iOS platforms aren't registered yet (Meta verifies the package name against a public Play listing, which doesn't exist yet on Internal testing).
Firebase Analytics + CrashlyticsEnabled in both Firebase projects, both apps

No testing/production split applies to Meta — it's a client-side SDK config, not tied to the backend environment split.

What's genuinely pending

  • Razorpay + Cashfree live keys for production
  • Meta app: publish to Live, fill in Privacy Policy URL/icon/category, register Android/iOS platforms, decide iOS App Tracking Transparency prompt (not implemented) and Advertiser ID on/off (SDK default: on)
  • Play Console Data safety: declare advertising ID / sharing with Meta and Firebase once Meta goes live