Location
디바이스 위치 정보를 Play 로 전달하기 위한 규격

Version

최신 버전은 1.0 입니다.
Version
Date
Description
1.0
2019.12.04
규격 추가

SDK Interface

LocationAgent 사용

Location interface 규격에 따른 디바이스의 동작 제어는 LocationAgent 가 처리합니다.
Linux 는 LocationAgent 를 지원하지 않습니다.
Android
iOS
NuguAndroidClient instance 를 통해 LocationAgent instance 에 접근할 수 있습니다.
val locationAgent = nuguAndroidClient.getAgent(LocationAgent.NAMESPACE)
NuguClient instance 를 통해 LocationAgent instance 에 접근할 수 있습니다.
let locationAgent = nuguClient.locationAgent

Context 구성

Play 에서 위치 정보 기반의 정보를 제공 받기 위해서는 디바이스의 위치 정보를 Context 에 포함시켜 주어야 합니다.
Android
iOS
LocationProvider 를 추가합니다.
val provider = object: LocationProvider {
override fun getLocation(): Location? {
...
}
}
NuguAndroidClient.Builder(...)
.enableLocation(provider)
LocationAgentDelegate 를 추가합니다.
class MyLocationAgentDelegate: LocationAgentDelegate {
func locationAgentRequestLocationInfo() -> LocationInfo? {
...
}
}
locationAgent.delegate = MyLocationAgentDelegate()

Context

{
"Location": {
"version": "1.0",
"current": {
"latitude": "{{STRING}}",
"longitude": "{{STRING}}"
}
}
}
parameter
type
mandatory
description
current
object
N
현재 위치의 정보
current.latitude
string
Y
위도
current.longitude
string
Y
경도
Last modified 8mo ago