flutter_twilio_commkit 0.1.3
flutter_twilio_commkit: ^0.1.3 copied to clipboard
Flutter SDK for Twilio Voice & Video. Native Android/iOS integration with built-in UI, CallKit, FCM/PushKit push, DTMF dialpad, and headless mode.
0.1.3 #
Improvements #
- Bumped
flutter_twilio_commkit_android,flutter_twilio_commkit_ios, andflutter_twilio_commkit_platform_interfaceconstraints to^0.1.2. - No API changes — version bump required due to sub-package updates.
0.1.2 #
Fixes #
- Include
example/in the published package so pub.dev awards the "Package has an example" score point. The example was previously excluded by.pubignore— that exclusion has been removed. - Bumped
flutter_twilio_commkit_android,flutter_twilio_commkit_ios, andflutter_twilio_commkit_platform_interfaceconstraints to^0.1.2.
0.1.1 #
Fixes #
- Fixed missing trailing commas in
video_event.dartandmethod_channel_twilio_commkit.dart(static analysis). - Applied
constconstructors in examplemain.dartfor better performance. - Sorted
dev_dependenciesalphabetically inexample/pubspec.yaml. - Added
.pubignoreto exclude.dart_tool/andpubspec.lockfrom published artifacts. - Removed tracked build artifacts (
.dart_tool/,pubspec.lock) from version control.
0.1.0 #
Voice #
- Outgoing calls via
TwilioVoice.instance.startCall() - Incoming calls via FCM (Android) and PushKit/APNs (iOS)
- Accept / reject incoming calls
- Mute, hold, speakerphone controls
- DTMF dialpad — built-in bottom sheet +
sendDigits()API - Bluetooth audio routing
- Android foreground service for background calls
- iOS CallKit integration with native UI
- Reconnection handling
- Call quality warning stream (
onCallQualityWarning) - Mute/hold change event streams
- Shared
callConnectedAttimestamp — synchronized call timer across caller and callee
Video #
- 1-to-1 and group video calls
- Adaptive layout engine (1 / 2 / 3 / 4+ participants)
- Draggable picture-in-picture local preview
- Camera switch (front / back)
- Audio and video mute controls
- Dominant speaker detection
- Network quality monitoring per participant
controlsBuilderandparticipantBuilderoverride callbacksenableVideo/enableAudioinitial-state flagslocalIdentityparameter for participant list
UI #
TwilioVoiceCallScreen— full voice call UI with pulsing avatar, timer, dialpadTwilioVideoCallScreen— adaptive multi-participant video UI with draggable PIPTwilioIncomingCallScreen— accept/decline screen with ringtone supportTwilioCallHandler— automatic incoming call routing (foreground / background / killed-app)TwilioCallControls— reusable call control bar widgetTwilioAvatar— participant avatar with image/fallback supportTwilioVideoView/TwilioVideoPreview— raw video track renderers
Theming #
TwilioThemeData.dark()— deep navy presetTwilioThemeData.light()— white/grey presetTwilioThemeData.videoCinema()— full-black cinema presetTwilioThemeData.videoPurple()— deep purple preset with gradient incoming screenTwilioThemeData.videoOcean()— ocean blue preset- Full custom theme support: colours, typography, button styles, avatar, PIP, tiles
controlBarBlurglassmorphism effectincomingBackgroundGradientfor incoming call screen- Per-button style overrides:
muteButtonStyle,endCallButtonStyle,acceptButtonStyle,rejectButtonStyle,videoButtonStyle,flipCameraButtonStyle,holdButtonStyle,speakerButtonStyle
Customization #
resolveParticipantImagecallback on all call screen widgets — supply remote participant avatars from your contact store- Custom ringtone via
TwilioThemeData.ringtonePath/ringtoneLoop avatarWidgetoverride — replace default avatar with any widgetcontrolsBuilder— replace entire controls bar in video screenparticipantBuilder— replace individual participant tiles
Architecture #
- Federated plugin architecture (4-package split)
- Platform channels with strongly typed Pigeon-ready interface
- Riverpod state management (internal only — client apps stay framework-agnostic)
- Strongly typed event streams (
onCallStateChanged,onIncomingCall,onCallQualityWarning,onRoomEvent) - Strongly typed exceptions (
TwilioAuthException,TwilioCallException,TwilioNetworkException,TwilioPermissionException) - Configurable logging (
TwilioLogLevel.debug / warning / error / none) - Chat module placeholder for future Twilio Conversations integration