Platform channel là cơ chế truyền message giữa Dart và mã native khi cần API mà Flutter chưa bọc sẵn (Bluetooth, cảm biến, SDK riêng).
Cách hoạt động:
- Phía Dart dùng MethodChannel (đặt tên duy nhất) gọi một method kèm tham số.
- Message được serialize qua codec chuẩn rồi gửi sang phía host (Kotlin/Java trên Android, Swift/Objective-C trên iOS), nơi đăng ký handler xử lý và trả kết quả về (dạng Future).
- Các loại: MethodChannel (gọi hàm), EventChannel (stream sự kiện native → Dart), BasicMessageChannel (message tùy biến).
Lưu ý: giao tiếp bất đồng bộ; xử lý nặng nên chạy nền phía native để không nghẽn UI. Đây cũng chính là ý tưởng "native module/bridge" chung của mobile cross-platform.