설치
처음부터 시작하기
SORI Flutter SDK는 pub.dev의 sorisdk_flutter 패키지로 배포됩니다.
패키지 페이지에서 최신 배포 버전과 생성된 Dart API reference를 확인할 수 있습니다.
SDK를 Flutter 앱에 통합하는 방법을 보여주는 Flutter 예제 앱도 제공합니다.
SORI Flutter 예제
예제 앱을 확인하고 작동 방식을 테스트해보세요.
기존 프로젝트에 통합하기
pub.dev에서 패키지를 추가합니다.
flutter pub add sorisdk_flutter또는 pubspec.yaml 파일에 직접 추가합니다.
dependencies:
sorisdk_flutter: ^0.3.2그 다음 패키지를 설치합니다.
flutter pub getAndroid 설정
패키지는 필요한 Android 권한과 foreground microphone service 선언을 플러그인 manifest에서 병합합니다. 여기에는 마이크, 네트워크, foreground service, 알림 관련 권한이 포함됩니다.
앱의 Android minSdk는 24 이상이어야 합니다.
android {
defaultConfig {
minSdk = 24
}
}Android에서 startRecognition()은 필요한 경우 런타임 마이크 권한을 요청하고, 권한이 승인되면 동일한 시작 요청을 이어서 실행합니다.
앱이 Android 13 이상을 대상으로 하고 foreground service 알림을 정상적으로 표시해야 한다면, 인식을 시작하기 전에 앱 흐름에서 알림 권한을 요청하세요.
iOS 설정
iOS 앱은 ios/Runner/Info.plist에 마이크 사용 설명을 포함해야 합니다.
<key>NSMicrophoneUsageDescription</key>
<string>Audio recognition requires microphone access.</string>앱이 백그라운드에서도 인식을 계속하도록 설계된 경우에만 background audio mode를 추가하세요.
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>Web 설정
Flutter 애플리케이션에 빌드 타임 bridge를 설치합니다. 버전 0.1.2는 @sorisdk/web-audio 0.6.7을 고정해서 사용합니다.
npm install --save-dev @sorisdk/flutter-web-bridge@0.1.2Web 빌드 전에 항상 브라우저 런타임을 준비합니다.
npx sori-flutter-web prepare
flutter build web준비 명령은 필요한 JavaScript, WASM, model 파일을 web/sorisdk/에 생성합니다. Flutter는 애플리케이션이 소유하는 이 파일들을 build/web으로 복사합니다.
Flutter Web에는 보안 컨텍스트(https:// 또는 http://localhost), Web Audio와 getUserMedia()를 지원하는 최신 브라우저, 단기 ephemeral key를 반환하는 애플리케이션 서버 endpoint가 필요합니다. Ephemeral Key를 참고하세요. Web 빌드에 장기 secret_key를 포함하지 마세요.
이제 SDK를 사용할 준비가 되었습니다. 다음 단계는 구현입니다.
