Skip to content

การติดตั้ง

เริ่มต้นตั้งแต่ต้น

SORI Flutter SDK เผยแพร่เป็นแพ็กเกจ sorisdk_flutter บน pub.dev

แพ็กเกจ sorisdk_flutter

ใช้หน้าแพ็กเกจเพื่อตรวจสอบเวอร์ชันล่าสุดที่เผยแพร่และเอกสารอ้างอิง Dart API ที่สร้างขึ้น

เรายังมีแอป Flutter ตัวอย่างที่แสดงวิธีผสานรวม SDK

SORI Example Flutter

ดูแอปตัวอย่างและทดลองการทำงาน

ผสานรวมเข้ากับโปรเจกต์ที่มีอยู่

เพิ่มแพ็กเกจจาก pub.dev:

bash
flutter pub add sorisdk_flutter

หรือเพิ่มลงในไฟล์ pubspec.yaml:

yaml
dependencies:
  sorisdk_flutter: ^0.3.1

จากนั้นเรียกใช้:

bash
flutter pub get

การตั้งค่า Android

แพ็กเกจจะผสานรวม Android permissions และการประกาศ foreground microphone service ที่จำเป็นจาก plugin manifest ซึ่งรวมถึง permissions ที่เกี่ยวข้องกับไมโครโฟน เครือข่าย foreground service และการแจ้งเตือน

แอปต้องกำหนด Android minSdk เป็น 24 ขึ้นไป:

kotlin
android {
    defaultConfig {
        minSdk = 24
    }
}

บน Android นั้น startRecognition() จะขอ runtime microphone permission เมื่อจำเป็น และดำเนินคำขอเริ่มต้นเดิมต่อหลังจากได้รับ permission แล้ว

หากแอป target Android 13 ขึ้นไปและต้องแสดงการแจ้งเตือนของ foreground service ตามปกติ ให้ขอ notification permission ในขั้นตอนการทำงานของแอปก่อนเริ่มการรู้จำ

การตั้งค่า 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

ติดตั้ง build-time bridge ในแอปพลิเคชัน Flutter โดยเวอร์ชัน 0.1.1 จะ pin @sorisdk/web-audio ไว้ที่เวอร์ชัน 0.6.5:

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

เตรียม browser runtime ก่อน Web build ทุกครั้ง:

bash
npx sori-flutter-web prepare
flutter build web

คำสั่งเตรียมจะเขียนไฟล์ JavaScript, WASM และ model ที่จำเป็นลงใน web/sorisdk/ จากนั้น Flutter จะคัดลอกไฟล์ที่แอปพลิเคชันเป็นเจ้าของเหล่านี้ไปยัง build/web

Flutter Web ต้องใช้ secure context (https:// หรือ http://localhost), เบราว์เซอร์สมัยใหม่ที่รองรับ Web Audio และ getUserMedia() รวมถึง endpoint บน application server ที่ส่งคืน ephemeral key อายุสั้น ดู คีย์ชั่วคราว ห้ามใส่ secret_key ที่มีอายุยาวนานใน Web build

ตอนนี้คุณพร้อมใช้งาน SDK แล้ว ขั้นตอนถัดไปคือ การนำไปใช้