Skip to content

설치 ​

처음부터 시작하기 ​

SORI Flutter SDK는 pub.dev의 sorisdk_flutter 패키지로 배포됩니다.

sorisdk_flutter package

패키지 페이지에서 최신 배포 버전과 생성된 Dart API reference를 확인할 수 있습니다.

SDK를 Flutter 앱에 통합하는 방법을 보여주는 Flutter 예제 앱도 제공합니다.

SORI Flutter 예제

예제 앱을 확인하고 작동 방식을 테스트해보세요.

기존 프로젝트에 통합하기 ​

pub.dev에서 패키지를 추가합니다.

bash
flutter pub add sorisdk_flutter:^0.4.0

또는 pubspec.yaml 파일에 직접 추가합니다.

yaml
dependencies:
  sorisdk_flutter: ^0.4.0

그 다음 패키지를 설치합니다.

bash
flutter pub get

Android 설정 ​

패키지는 필요한 Android 권한과 foreground microphone service 선언을 플러그인 manifest에서 병합합니다. 여기에는 마이크, 네트워크, foreground service, 알림 관련 권한이 포함됩니다.

앱의 Android minSdk는 24 이상이어야 합니다.

kotlin
android {
    defaultConfig {
        minSdk = 24
    }
}

Android에서 startRecognition()은 필요한 경우 런타임 마이크 권한을 요청하고, 권한이 승인되면 동일한 시작 요청을 이어서 실행합니다.

앱이 Android 13 이상을 대상으로 하고 foreground service 알림을 정상적으로 표시해야 한다면, 인식을 시작하기 전에 앱 흐름에서 알림 권한을 요청하세요.

iOS 설정 ​

iOS 앱은 ios/Runner/Info.plist에 마이크 사용 설명을 포함해야 합니다.

xml
<key>NSMicrophoneUsageDescription</key>
<string>Audio recognition requires microphone access.</string>

앱이 백그라운드에서도 인식을 계속하도록 설계된 경우에만 background audio mode를 추가하세요.

xml
<key>UIBackgroundModes</key>
<array>
    <string>audio</string>
</array>

Web 설정 ​

Flutter 애플리케이션에 빌드 타임 bridge를 설치합니다. 버전 0.1.5는 호환 범위 @sorisdk/web-audio ^0.6.10을 사용합니다.

bash
npm install --save-dev @sorisdk/flutter-web-bridge@0.1.5

Web 빌드 전에 항상 브라우저 런타임을 준비합니다.

bash
npx sori-flutter-web prepare
flutter build web

패키지를 업데이트해도 생성되었거나 배포된 자산은 자동으로 업데이트되지 않습니다. npm lockfile을 업데이트하고 sori-flutter-web prepare를 실행한 뒤 Flutter 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를 사용할 준비가 되었습니다. 다음 단계는 구현입니다.