Platform notes

Web and Wasm, Android, iOS, desktop, and the few platform-specific things to know.

The SDK has no platform channels and no plugin dependencies. What follows concerns the companions you may add around it.

Web (JS and Wasm)

  • Builds with flutter build web --wasm; the packages avoid dart:html and use package:web_socket and streamed package:http responses.
  • A page served over http:// cannot open wss://. Use HTTPS or localhost during development.
  • Browser Notification API can back onSystemNotification; the example does this.
  • When automating the app in a browser, keep the tab in the foreground: Chrome throttles background tabs and Flutter’s frames stall.

Android

  • flutter_local_notifications (if you use it for the system channel) needs core library desugaring: isCoreLibraryDesugaringEnabled = true and coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.4") in build.gradle.kts.
  • Push tokens come from firebase_messaging; register with KletsoPushPlatform.fcm.

iOS and macOS

  • The SDK compiles without platform code. APNs delivery from the runtime is planned; until then, iOS apps receive notifications live over the socket and through FCM if you route iOS through Firebase.

Desktop

  • Works as on the web. The chat sheet docks bottom-right on wide windows.

Fonts

kletso_flutter bundles Plus Jakarta Sans (400, 600, 700). Use KletsoTheme.light(useHostFont: true) to inherit your app’s font.

Last updated 2026-09-28 · Report an issue with this page