플랫폼 채널은 Dart 코드와 네이티브 플랫폼 코드(iOS/Android) 사이의 통신을 위한 Flutter의 메커니즘입니다 — Flutter가 Dart 패키지를 통해 사용할 수 없는 네이티브 기능이나 기존 네이티브 코드에 접근하게 해줍니다. 이는 Flutter를 기반 플랫폼에 연결합니다.
플랫폼 채널이 존재하는 이유
Flutter(Dart)는 모든 네이티브 플랫폼 기능에 직접 접근할 수 없습니다. 플랫폼 채널은
Dart가 NATIVE 코드(Android의 Kotlin/Java, iOS의 Swift/Objective-C)를 호출하게 합니다:
→ 기존 플러그인이 다루지 않는 네이티브 API/SDK에 접근
→ 기존 네이티브 라이브러리나 플랫폼별 기능 사용
→ 하이브리드 앱에서 네이티브 코드와 통합
→ Flutter와 네이티브 플랫폼 사이의 다리.
method channel 작동 방식
// Dart 측: MethodChannel을 통해 네이티브 메서드 호출
static const platform = MethodChannel('com.example/battery');
Future<int> getBatteryLevel() async {
final int level = await platform.invokeMethod('getBatteryLevel'); // 네이티브 호출
return level;
}
