위치 요청 결과 레퍼런스
이 문서는 SDK 이벤트 수신 시 확인하는 PlengiResponse 필드 설명 문서입니다.
결과 수신 위치
위치 인식 결과는 PlengiListener.listen(PlengiResponse response) 에서 받습니다.
팁
리스너 생성 및 등록은 SDK 초기화 문서를 참고해주세요.
- Java
- Kotlin
public class LoplatPlengiListener implements PlengiListener {
@Override
public void listen(PlengiResponse response) {
if (response.result == PlengiResponse.Result.SUCCESS) {
// 성공 처리
} else {
// 실패/에러 처리
}
}
}
class LoplatPlengiListener : PlengiListener {
override fun listen(response: PlengiResponse) {
if (response.result == PlengiResponse.Result.SUCCESS) {
// 성공 처리
} else {
// 실패/에러 처리
}
}
}
PlengiResponse 공통 필드
경고
가이드하지 않은 필드들은 테스트용이거나 deprecated 예정이니 사용하지 않는 것을 권장합니다.
| 필드 | 설명 | 상세 |
|---|---|---|
echo_code | 사용자 식별 코드 | setEchoCode()로 등록한 값을 echo |
result | 위치 인식 결과 | SUCCESS: 위치 인식 성공, FAIL: 위치 인식 실패 |
errorReason | 실패 사유 | Location Acquisition Fail : 현재 위치 획득 실패Not Allowed Client: 클라이언트 인증 실패 (client_id, client_secret, 패키지명 확인 필요) |
type | 요청 타입 | ResponseType.PLACE: 테스트용 요청ResponseType.PLACE_EVENT: SDK 내부 로직에 따른 요청 |
placeEvent | 인식된 event 타입 | NOT_AVAILABLE: place 확인 불가(area, complex, geofence 등 다른 정보는 있을 수 있음)ENTER: place 진입NEARBY: place 근처 |
위치 인식 성공 시 주요 객체
경고
가이드하지 않은 필드들은 테스트용이거나 deprecated 예정이니 사용하지 않는 것을 권장합니다.
경고
모든 필드는 nullable 입니다. null 체크 후 사용해 주세요.
| 필드 | 설명 |
|---|---|
response.place | 장소 정보 (매장) |
response.area | 상권 정보 |
response.complex | 복합몰 정보 |
response.geoFence | 지오펜스 정보 |
response.district | 행정구역 정보 |
response.location | 기기 위경도 정보 |
Place 필드
실제 SDK 타입은 Java 클래스입니다. 아래는 필드 의미를 맞춰 본 예시입니다.
- Java
- Kotlin
class Place {
public long loplatid; // 장소 ID
public String name; // 장소 이름
public String tags; // 장소 관련 태그
public int floor; // 층 정보
public String category; // 장소 유형
public String category_code;// 장소 유형 코드
public double lat; // 인식된 장소 위도
public double lng; // 인식된 장소 경도
public float accuracy; // 정확도
public float threshold; // 인식 임계값
public String address; // (구)주소
public String address_road; // 도로명 주소
public String post_code; // 우편번호
}
// SDK가 Java 객체로 구성되어있습니다. 아래는 필드 대응 관계를 보여 주는 예시입니다.
data class Place(
val loplatid: Long, // 장소 ID
val name: String?, // 장소 이름
val tags: String?, // 장소 관련 태그
val floor: Int, // 층 정보
val category: String?, // 장소 유형
val category_code: String?,// 장소 유형 코드
val lat: Double, // 인식된 장소 위도
val lng: Double, // 인식된 장소 경도
val accuracy: Float, // 정확도
val threshold: Float, // 인식 임계값
val address: String?, // (구)주소
val address_road: String?, // 도로명 주소
val post_code: String?, // 우편번호
)
accuracy > threshold: 현재 위치 내부로 판단- 그 외: 주변(
NEARBY)으로 판단 가능
Area 필드
장소 위치 요청한 장소가 상권 안일 경우 상권 정보가 인식 결과에 함께 같이 전달됩니다.
위도 및 경도는 아래의 조건으로 결과가 전달됩니다.
- 장소 인식 결과값이 있다면 -> 인식된 장소 위도/경도
- 장소 인식 결과값이 없으면 -> device의 위도/경도
- Java
- Kotlin
class Area {
public int id; // Area ID
public String name; // 상권 이름
public String tag; // 상권 태그(도/시 등)
public double lat; // 위도
public double lng; // 경도
}
// SDK가 Java 객체로 구성되어있습니다. 아래는 필드 대응 관계를 보여 주는 예시입니다.
data class Area(
val id: Int, // Area ID
val name: String?, // 상권 이름
val tag: String?, // 상권 태그(도/시 등)
val lat: Double, // 위도
val lng: Double, // 경도
)
Complex 필드
인식된 장소가 복합몰 내인 경우 복합몰 정보도 함께 인식 결과에 포함되어 전달됩니다.
- Java
- Kotlin
class Complex {
public int id; // Complex ID
public String name; // 복합몰 이름
public String branch_name; // 복합몰 지점명
public String category; // 카테고리
public String category_code;// 카테고리 코드
}
// SDK가 Java 객체로 구성되어있습니다. 아래는 필드 대응 관계를 보여 주는 예시입니다.
data class Complex(
val id: Int, // Complex ID
val name: String?, // 복합몰 이름
val branch_name: String?, // 복합몰 지점명
val category: String?, // 카테고리
val category_code: String?, // 카테고리 코드
)
GeoFence/Fence 필드
매칭된 지오펜스 구역의 정보가 전달됩니다.
- Java
- Kotlin
class Geofence {
private double lat; // GeoFence 중심 위도
private double lng; // GeoFence 중심 경도
private ArrayList<Fence> fences; // Fence 목록
}
class Fence {
private long gfid; // 지오펜스 관리 ID
private float dist; // 중심 좌표 기준 거리(optional)
private String name; // 이름
private String clientCode;// 고객사 관리 ID
}
// SDK가 Java 객체로 구성되어있습니다. 아래는 필드 대응 관계를 보여 주는 예시입니다.
class Geofence(
val lat: Double, // GeoFence 중심 위도
val lng: Double, // GeoFence 중심 경도
val fences: ArrayList<Fence>?, // Fence 목록
)
class Fence(
val gfid: Long, // 지오펜스 관리 ID
val dist: Float, // 중심 좌표 기준 거리(optional)
val name: String?, // 이름
val clientCode: String?,// 고객사 관리 ID
)
District 필드
인식된 행정구역 정보입니다.
- Java
- Kotlin
class District {
private String lv0_code; // 국가 코드
private String lv1_code; // 시/도 코드
private String lv1_name; // 시/도 이름
private String lv2_code; // 구/군 코드
private String lv2_name; // 구/군 이름
private String lv3_code; // 동/면 코드
private String lv3_name; // 동/면 이름
}
// SDK가 Java 객체로 구성되어있습니다. 아래는 필드 대응 관계를 보여 주는 예시입니다.
class District(
val lv0_code: String?, // 국가 코드
val lv1_code: String?, // 시/도 코드
val lv1_name: String?, // 시/도 이름
val lv2_code: String?, // 구/군 코드
val lv2_name: String?, // 구/군 이름
val lv3_code: String?, // 동/면 코드
val lv3_name: String?, // 동/면 이름
)