Skip to content

자주 묻는 질문

해당 페이지는 SDK를 적용, 실행, 테스트하면서 발생하는 문제들과, 기타 문제들을 정리해놓은 페이지입니다.
해당 페이지에 나와있지 않은 문제가 발생하거나, 질문이 있으실 경우 dev@loplat.com 으로 메일 부탁드립니다.

Q. SDK 용량은 어떻게 되나요?

안드로이드

버전 2.0.5.6 기준으로 219.95KB 입니다.

iOS

버전 1.3.3 Universal Framework (시뮬레이터 빌드 포함) 기준으로 24.2MB이며, 앱스토어에 배포시, 각각의 디바이스에 따라 SDK 사이즈가 최적화 됩니다. 아이폰 (arm64 아키텍쳐) 기준으로 3.1MB 입니다.


Q. 배터리 사용량은 어떻게 되나요?

위치 옵션을 항상 허용 (백그라운드에서도 동작 / 앱을 종료시에도 동작) 으로 하고, 배터리 잔량이 100%에서 SDK가 탑재된 앱을 설치 / 실행 후 여러가지 디바이스로 사용자가 출근 ~ 퇴근 (약 12시간)까지 사용했을 때, 결과는 아래와 같습니다.

안드로이드

평균 14mAh (0.4%) 소모

iOS

상대 배터리 사용량을 역산하여 계산하였을 때 평균 0.8% 소모

안드로이드 대비 배터리를 더 소모하는 이유 : iOS에서는 OS 정책상 와이파이 스캔이 불가능하므로, 와이파이 스캔 대비, 배터리 소모가 비교적 큰 가속도센서 + BLE 스캔 + GPS 값을 통해 사용자의 움직임을 감지합니다.

위의 테스트 결과는, 사용자의 행동 패턴 / 기기 / OS 버전에 따라 달라질 수 있습니다.


Q. 사용하는 권한은 어떻게 되나요?

안드로이드

  • android.permission.ACCESS_COARSE_LOCATION, android.permission.ACCESS_FINE_LOCATION
    • 사용자의 현재 위치를 가져오기 위해 사용합니다.
    • 안드로이드 6.0 이상부터 와이파이 스캔시 필요한 권한입니다.
  • android.permission.ACCESS_NETWORK_STATE
    • SDK 내부적으로 인터넷 연결 상태를 확인하기 위해 사용합니다.
  • android.permission.ACCESS_WIFI_STATE, android.permission.CHANGE_WIFI_STATE
    • 와이파이 스캔 시 사용합니다.
  • android.permission.INTERNET
    • 로플랫 서버와 통신할 때 사용합니다.
  • android.permission.RECEIVE_BOOT_COMPLETED
    • 디바이스가 재부팅이 되었을 때, 사용자가 앱을 다시 실행하지 않더라도 자동으로 지속적인 위치 트래킹을 위해 사용합니다.
  • android.permission.FOREGROUND_SERVICE
    • 안드로이드 8.0 이상부터 위치 획득을 위한 서비스를 실행할 때 사용합니다.

iOS

  • Access Wi-Fi Information
    • 현재 연결된 와이파이 정보를 가져오기 위해 사용합니다.
    • iOS 12 이상부터 연결된 와이파이 정보를 가져오려면 해당 권한이 필요합니다.
  • Background Modes - Location Updates
    • 백그라운드에서 사용자의 위치를 가져오기 위해 사용합니다.
    • 사용자가 앱을 강제종료 했을 때, 시스템에 의해 되살아나는 로직을 사용하기 위해 사용합니다.

Q. 지원 가능 OS 버전은 각각 어떻게 되나요?

안드로이드

minSdkVersion 14
targetSdkVersion 26

iOS

컴파일 가능 iOS 버전 : iOS 8.0 이상 (iOS 8.0 에서는 SDK내 API를 호출해도 아무런 작업을 하지않습니다.)
실제 작동 iOS 버전 : iOS 9.0 이상


Q. 안드로이드에서 와이파이가 꺼져 있어도 와이파이 스캔이 가능한가요?

안드로이드에서 와이파이 스캔을 하기 위해서는 아래의 조건이 필수로 만족되어야합니다.

  • GPS가 켜져있어야 함 (안드로이드 6.0 이상)
  • 설정 -> 연결 -> 위치 -> 정확도 향상 -> Wi-Fi 찾기 (와이파이가 꺼져있을 때 와이파이 스캔을 가능하게 함, 아래 사진 참조)


Q. iOS에서 블루투스가 꺼져 있어도 비콘 스캔이 가능한가요?

블루투스와 위치서비스가 켜져있어야 비콘 스캔을 할 수 있습니다.

iOS 11 이상부터는 제어센터의 블루투스 스위치의 기능이 다릅니다.

iOS 11 이상부터 기본적으로 제어센터에서 블루투스의 스위치를 꺼도 연결해제 상태로 변경될 뿐, 실제 블루투스 기능은 꺼지지 않습니다.
제어 센터에서 블루투스를 껐을 경우엔 상관이 없으나, 환경설정에서 블루투스를 끌 경우에는 블루투스 기능 자체가 꺼지므로, 비콘 스캔을 할 수 없습니다.


Q. 한 장소에서 얼마나 머물러야 장소 인식 이벤트가 발생하나요?

안드로이드

최대 5분

iOS

최대 4분


Q. iOS 앱스토어 심사에서 반려됐습니다. 심사 방법이 뭔가요?

SDK에서 위치 기능을 사용하기 때문에 앱의 Info.plist 파일에 아래의 항목이 추가되어야합니다.

iOS 10 이상부터는 정책 변경에 따라 사용자의 개인정보를 사용하는 경우, 아래의 사용자 피드백 문구를 제공해야합니다.

<?xml version="1.0" encoding="UTF-8">
<!DOCTYPE plist PUBLIC "=//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <!-- 중간 생략 -->
    <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
    <string>앱에서 위치 기능을 사용하는 이유를 적어주세요.</string>
    <key>NSLocationAlwaysUsageDescription</key>
    <string>앱에서 위치 '항상 허용' 을 사용하는 이유를 적어주세요,</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>앱에서 위치 '앱을 사용하는 동안' 을 사용하는 이유를 적어주세요.</string>
    <!-- 이하 생략 -->
</dict>
</plist>


그리고, SDK 코드에는 loplat X 기능으로 인해 ADID (Advertisement Identifier) 를 사용하는 코드가 포함되어 있습니다.
서비스에서 loplat X를 사용하지 않고, ADID도 수집하지 않는다면, 심사에서 반려됩니다. (ADID를 사용하는 시나리오가 없기 때문. SDK에서만 사용하기 때문)

ADID가 빠진 SDK가 필요하시다면, dev@loplat.com 으로 연락 부탁드립니다.