Skip to main content
Documentation
StartOverviewArchitectureAuthenticationSend your first message
TypeScript SDKOverviewTrusted app serverApp-user clientsRealtimeErrors & webhooks
Flutter SDKOverviewInstallationAuthenticationChannels & messagesOffline & syncRealtimeUI componentsPush & lifecycle
ConceptsTenancy & scopeChannels & messagesDelivery & reconciliationSecurity checklist
ProtocolsRealtimeSigned webhooks
ReferenceREST APIErrors, limits & retriesDeploy docs to Coolify
VV ChatDocs API v1
Recommended starting points
Build chat without rebuilding infrastructureV Chat is a multi-tenant messaging backend with typed server, web, and Flutter integration paths.StartArchitecture at a glanceUnderstand the control plane, data plane, realtime path, and SDK boundaries before integrating.StartAuthentication and credentialsSelect the correct credential for dashboard, trusted-server, app-user, realtime, and webhook flows.StartSend your first messageUse the trusted TypeScript server client to create the minimum safe messaging flow.StartTypeScript SDK overviewChoose the correct typed client for trusted servers, app users, dashboard sessions, realtime, and webhooks.TypeScript SDKTrusted app-server clientUse AppServerClient from a protected backend to manage data-plane resources and mint app-user tokens.TypeScript SDKApp-user clientsBuild browser or Node app-user flows with VChatClient or the lower-level AppUserClient.TypeScript SDK
↑↓ Navigate↵ Openesc Close
API reference
StartOverviewArchitectureAuthenticationSend your first message
TypeScript SDKOverviewTrusted app serverApp-user clientsRealtimeErrors & webhooks
Flutter SDKOverviewInstallationAuthenticationChannels & messagesOffline & syncRealtimeUI componentsPush & lifecycle
ConceptsTenancy & scopeChannels & messagesDelivery & reconciliationSecurity checklist
ProtocolsRealtimeSigned webhooks
ReferenceREST APIErrors, limits & retriesDeploy docs to Coolify
Contract sourceOpenAPI JSON
Docs/Flutter SDK
Platform integration

Push and application lifecycle

Bind provider-neutral push sources and coordinate foreground, background, logout, and disposal safely.

Updated 2026-08-09•sdks/flutter/packages/v_chat_flutter/README.md · released push contracts

Your host owns the provider

The Flutter package is provider-neutral. Your app owns permission prompts, Firebase/APNs configuration, token discovery, background handlers, and notification presentation. Adapt those callbacks into V Chat instead of exposing provider objects to the core client.

Production delivery boundary

Treat native provider delivery as unavailable until your deployment has separately verified provider configuration and the released push worker path. SDK APIs alone are not proof that production push is active.

Attach a push binding

dart
final binding = VChatPushIntegrationBinding(
  push: sdk.client.push,
  installationId: stableInstallationId,
  tokenSource: hostTokenSource,
  notificationSource: hostNotificationSource,
  onRoute: handleAcceptedVChatRoute,
  onDiagnostic: recordSafePushDiagnostic,
);

await binding.attach();

// Before the authenticated user is logged out:
await binding.revokeBeforeLogout();
await binding.disposeAsync();

The binding serializes token updates, routes only the released content-light payload, and deduplicates through scoped durable receipt IDs.

Foreground and background

  • Backgrounding may suspend ticketing, connecting, recovering, connected, or reconnecting work.
  • Foreground resume starts only when a lifecycle was actually suspended.
  • A suspension that wins before ready returns request_cancelled rather than a fabricated protocol error.
  • Logout revokes device registration, disconnects realtime, and disposes the scoped SDK before account state changes.
PreviousFlutter UI componentsNext Tenancy and environment scope
On this pageYour host owns the providerAttach a push bindingForeground and background
Report a docs issue