space_story_sdk 0.0.8
space_story_sdk: ^0.0.8 copied to clipboard
A Flutter plugin for AR functionality using ARKit on iOS.
Space Story SDK #
Flutter용 AR 기능을 제공하는 SDK입니다. 현재는 iOS 플랫폼만 지원합니다.
요구사항 #
- iOS 13.0 이상
- 실제 iOS 기기 (시뮬레이터에서는 작동하지 않음)
- Flutter 3.3.0 이상
설치 #
pubspec.yaml에 다음을 추가하세요:
dependencies:
space_story_sdk:
git:
url: https://github.com/freegrowenterprise/space_story_sdk.git
ref: master # 또는 특정 태그나 커밋 해시
iOS 설정 #
-
iOS 프로젝트의 최소 버전을 13.0으로 설정하세요:
ios/Podfile에서:platform :ios, '13.0'
-
Info.plist에 카메라 및 블루투스 권한을 추가하세요:<key>NSCameraUsageDescription</key> <string>AR 기능을 사용하기 위해 카메라 접근 권한이 필요합니다.</string> <key>NSBluetoothAlwaysUsageDescription</key> <string>BLE 장치를 검색하기 위해 블루투스 권한이 필요합니다.</string>
Android 설정 #
android/app/src/main/AndroidManifest.xml에 다음 권한을 추가하세요:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
사용 방법 #
-
SDK를 import 하세요:
import 'package:space_story_sdk/space_story_sdk.dart'; -
AR 화면을 표시하세요:
Navigator.of(context).push( MaterialPageRoute( builder: (context) => SpaceStorySdk.arView(), ), );
예제 코드:
import 'package:flutter/material.dart';
import 'package:space_story_sdk/space_story_sdk.dart';
class YourScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: ElevatedButton(
onPressed: () {
// AR 화면 열기
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) => SpaceStorySdk.arView(),
),
);
},
child: Text('AR 화면 열기'),
),
),
);
}
}
기능 #
- AR 카메라 뷰
- 3D 큐브 표시
- 공간 인식
제한사항 #
- 현재는 iOS 플랫폼만 지원합니다.
- 실제 iOS 기기가 필요합니다 (시뮬레이터에서는 작동하지 않음).
- iOS 13.0 이상이 필요합니다.
- Android에서는 '지원하지 않는 플랫폼입니다.' 메시지가 표시됩니다.
라이선스 #
MIT License
BLE 장치 검색 기능 #
SDK는 BLE(Bluetooth Low Energy) 장치 검색 기능을 제공합니다. 주변의 BLE 장치를 쉽게 찾을 수 있습니다.
BLE 장치 검색 예제 #
// BLE 장치 검색
SpaceStorySdk.bleProvider.findNearbyDevice(
deviceName: 'FGB', // 찾고자 하는 장치 이름의 일부
onDeviceFound: (deviceName) {
print('장치 발견: $deviceName');
},
requiredRssi: -70, // 선택적: RSSI 임계값 설정 (기본값: -70)
scanDuration: 30, // 선택적: 스캔 지속 시간 설정 (기본값: 30초)
);
주요 메서드 #
findNearbyDevice(): 특정 이름의 BLE 장치를 검색하고 발견 시 콜백 호출deviceName: 찾을 장치 이름 (부분 일치)onDeviceFound: 장치 발견 시 호출되는 콜백requiredRssi: 근접성을 판단하는 신호 강도 임계값 (기본값: -70)scanDuration: 최대 스캔 지속 시간 (기본값: 30초)
기능 #
- 주변 BLE 장치 검색
- 장치 이름 기반 필터링
- 신호 강도(RSSI) 기반 근접성 판단
- 유연한 스캔 시간 설정
주의사항 #
- 블루투스 권한이 필요합니다
- 장치 검색은 백그라운드에서 수행됩니다
- 실제 BLE 장치가 필요합니다