space_story_sdk 0.0.8 copy "space_story_sdk: ^0.0.8" to clipboard
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 설정 #

  1. iOS 프로젝트의 최소 버전을 13.0으로 설정하세요:

    • ios/Podfile에서:
      platform :ios, '13.0'
      
  2. 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" />

사용 방법 #

  1. SDK를 import 하세요:

    import 'package:space_story_sdk/space_story_sdk.dart';
    
  2. 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 장치가 필요합니다