Skip to content

안드로이드 SDK 테스트 가이드 문서

시작하기

네이버 지도 버전 3 적용하기

네이버 지도 SDK v3 요구 설정값

네이버 지도 V3에 요구하는 SDK version 설정값은 아래와 같습니다.

compileSdkVersion 28
minSdkVersion 15

테스트 모드 적용 및 설정하기

테스트 모드 사용을 위한 SDK 버전 설정

  • compileSdkVersion, minSdkVersion 을 아래와 같이 선언을 합니다.

  • 네이버 지도 V3 적용을 위해 compileSdkVersion 28 으로 선언이 필요합니다.

  • 테스트 모드 시 화면에 보이는 플로팅 뷰 동작을 위해 minSdkVersion 19(이상) 선언이 필요합니다.

    compileSdkVersion 28
    minSdkVersion 19
    


테스트 모드 필수 권한

  • 테스트 모드 동작을 위해 아래의 권한들이 허용되어야 합니다.

  • 위치 권한: Wi-Fi scanning 결과, GPS (위경도) 값을 반환 받기 위함

  • 외부 저장소 쓰기 권한: SDK 동작 로그를 파일에 쓰기 위함

  • 계정 정보 읽기: 파일 로그를 메일로 전송할 때 사용

  • 윈도우 오버레이: Floating view를 화면에 띄우기 위함 (아래 사진 참고)

    • 다른 앱 위에 표시 되는 앱 권한 허용

권한 선언

SDK 내 AndroidManifest.xml 가 선언되어 있으므로 별도의 선언은 따로 하지 않아도 됩니다.


테스트 모드 사용하기

  • 테스트 모드 설정 방법

  • maven 사용 하는 경우

    • 프로젝트 내, 최상위 build.gradle 에 아래의 코드 추가
    allprojects {
        repositories {
            jcenter()
            mavenCentral()
            maven { url "https://maven.loplat.com/artifactory/plengi-debug"}
            google()
        }
    }
    
    • loplat SDK Dependency 추가 하기
    dependencies {
        implementation 'com.loplat:placeengine:2.0.4.8'
    }
    


  • AAR을 사용하는 경우

    • loplat android SDK AAR 파일을 프로젝트 폴더 내의 라이브러리(libs) 폴더 복사
    repositories {
        flatDir { dirs 'libs' }
    }
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
    }
    

테스트 모드 구성

테스트 모드는 SDK 동작 log 화면과 장소 인식 결과 확인 화면 2가지로 구성 되어 있습니다.
테스트 모드의 화면은 기기 화면의 앱 런처 아이콘 을 누르면 보실 수 있습니다.

SDK 동작 로그 화면

SDK log 화면은 4가지 기능 버튼과 리스트 화면으로 구성되어 있습니다.

  • 1번 : 현재 위치 확인하기

    • 현재 위치에서 Wi-Fi scanning 결과를 통해 위치 확인
  • 2번 : LBS기반 현재 위치 확인하기

    • 기지국 정보 기반으로 현재 위치 확인 하기
  • 3번 : 로그 파일 메일로 보내기

    • SDK 동작 로그를 원하는 메일 주소로 전송 가능
  • 4번 : 로그 파일 삭제 하기

  • 5번 : 위치 결과 확인

  • Log 목록

    • Log 목록 화면은 SDK 동작 Log와 장소 인식 결과 위치를 확인 할 수 있는 지도 버튼으로 이루어져 있음

    • 로그 설명

      • [BG]/[FG] : foreground, background wifi scanning 당시의 앱 상태 값
      • 이벤트 로그 - [ENTER]/[NEARBY]/[LEAVE]: 인식 장소 결과 상태값
      [ENTER]로플랫,드림플러스(12345),11F,0.806/0.700 //[Event 타입(enter/nearby)] 장소명,지점명/태그(장소ID), 층정보, 인식 정확도
      [7] 강남대로, 서울(37.490718841, 127.03067071) //[Area ID], 상권(지역)명(위도,경도) Location)
      37.4906586, 127.030372, 1, 28.895, loplat //위도, 경도, 층, 정확도, provider
      
      [LEAVE]로플랫,(1234),20분 // 장소 체류 시간 확인 로그, 장소명, 장소ID, 체류시간 순
      
장소 인식 결과 확인

SDK를 통해 인식 된 장소의 위치를 (네이버) 지도를 통해 확인 할 수 있습니다.

테스트하기

WiFi 기반의 기본동작 테스트

장소 인식 시나리오

Case 1. 매장(장소) 방문 인식 (IN)

A 매장에서 약 4분 의 정도 시간에 머무름 -> A 장소 인식 & 장소 인식 Event 발생

Case 2. 매장 주변 인식 (NEARBY)

A 매장(장소) (밖) 20m 이내 주변 약 4분 의 정도 시간에 머무름 -> A 장소 Nearby Event 발생

Case 3. 매장 이탈 인식 (LEAVE)

주의

Nearby로 인식 된 장소는 Leave Event가 발생하지 않습니다.

A 매장에서 약 4분 의 정도 시간에 머무름 -> A 장소 IN (ENTER) 인식 -> A 장소에서 (20m 이상) 벗어남 -> 약 2분 후에 Leave Event 발생

Case 4. 다른 매장 이동

A 장소에서 약 4분 의 정도 시간에 머무름 -> A 장소 In (ENTER) 인식 -> B 장소로 이동 -> B 장소에서 약 4분 의 정도 시간을 머무름 -> A 장소 Leave Event 발생, B 장소 인식

셀측위 테스트 (백그라운드)

LG U+ 유심을 탑재한 기기를 소지하고 WiFi와 GPS Off 상태에서 셀측위가 동작합니다.

  • 한 장소에서 8~10분 정도를 머무르면 위치 인식이 됨

  • 인식 결과

    [CELL] 37.0405940, 127.09844665
    


장소 인식 결과

테스트 하기 전, 꼭 아래의 내용을 숙지 부탁드립니다.

  1. 매장(장소) 인식 결과

  2. 매장 인식이 된 경우

    • [ENTER/NEARBY] : 장소 인식 결과 상태값
    • ENTER: 매장(장소) 내 인식 성공
    • NEARBY: 해당 장소 20m 이내 주변으로 위치 인식
  3. 매장 인식이 안 된 경우 (실패)

    • Event는 전달 되었으나 (인식 로그 1번이 없는 경우, 이미지 참고) 상권, 복합몰, Geofence 등이 인식 된 경우
    • 위치 인식 실패 -> 위치 요청한 장소가 매장, 상권, 복합몰, Geofence 중 하나도 인식 되지 않은 경우
    • response fail: Location acquisition fail 로그로 확인 할 수 있음
  4. 인식된 매장(장소)를 벗어 난 경우

    상권, 복합몰, Geofence에 대한 leave event는 없습니다.

    • [LEAVE] 이벤트 발생

    • leave event 로그는 아래와 같음

    • 순서대로 이벤트명, 인식된 매장(장소) 명, 지점명/Tag(Store ID), 체류시간

      [LEAVE] 로플랫,한화드림플러스(12359),40분
      
  5. 상권 인식 결과

  6. 위치 인식 요청한 장소가 상권에 포함되면 아래와 같이 event로 전달됩니다.

    • [상권ID] 상권명, 도시명(위치요청 당시 기기 위경도값)

      [7]강남대로, 서울(37.490719941, 127.030670166)
      
  7. 복합몰 인식 결과

  8. 위치 인식 요청한 장소가 복합몰 내이면 아래와 같이 event로 전달됩니다.

    • [복합몰ID] 복합몰 명, 지점명, 카테고리

      [1295]로플랫복합몰,,Theme Park
      
  9. Geofence 인식 결과

  10. 위치 인식 요청한 장소가 설정하신 Geofence에 해당되면 (이미지 참고)로그 4와 같이 event로 전달됩니다.

    • (location: 요청한 기기 위경도 값), [[gfid, fence name, client_code], ....]
  11. 위치 요청한 기기의 위경도 정보

  12. 위치 인식 요청한 기기의 위경도 정보가 (이미지 참고)로그 5와 같이 event로 전달됩니다.
    • 위경도, 층, 정확도, provider

체크리스트

SDK가 정상적으로 동작하기 위해 적용시 필수로 확인해야 될 항목들입니다.

아래와 항목과 다르게 적용하면 SDK가 정상적으로 동작하지 않습니다. SDK 적용 후에 꼭 확인 부탁드립니다.

No. Question Y/N comment
0 적용한 SDK Version은 로플랫 개발자
페이지 홈에 적혀있는 (최신)버전 인가?
1 SDK stop 호출은 위치약관동의 철회 시,
로플랫 서비스 만료 시 외에 임의로 호출하는 부분
이 없는가?
start전에 stop을 호출하면 안됩니다.
있다면 로플랫과 협의 부탁드립니다.
2 SDK init 이 호출되는 위치가 가이드대로 작성 되었는가? application 최초시작 시 init이 호출되는가?
Android는 setListener가 init앞에 있는지 확인
3 사용자의 위치약관동의한 경우만 SDK init을 호출하는가?
4 사용자의 위치약관동의한 경우만 SDK start를 호출하는가?
5 로플랫 개발자 페이지에서
언급하는 API 외에 사용하는 API가 있는가?
있다면 로플랫과 협의 부탁드립니다
6 init시 echo_code 란에 전화번호, 이메일 주소 같은 개인정보가 들어가지 않는가? echo_code 회원을 구별할 수 있는 난수값을 넣어주세요
7 init시 echo_code 란에 항상 동일한 상수값이 들어가지 않는가? echo_code가 필요없다면 null을 입력해주세요.

FAQ

1. SDK에서 START 를 호출 하였음에도 불구 하고 아무런 동작을 하지 않습니다.

  • 위치 권한 허용, GPS On 상태, Wi-Fi scanning 가능 여부, 모바일 핫스팟 OFF 상태 확인 부탁드립니다.
  • 위치 권한 상태 확인하는 방법 - 설정 -> 애플리케이션 -> 어플 선택 -> 권한 선택 - Wi-Fi 항상 켜짐 확인 하는 방법 (삼성 갤럭시 폰 기준) - 설정 -> 연결 -> 위치 -> 정확도 향상 -> Wi-Fi 찾기 (아래 이미지 첨부)

모바일 핫스팟 (테더링)이 켜져있을 경우, SDK가 작동하지 않습니다.

정상적인 Wi-Fi 스캔 값을 받지 못하므로 SDK 내에서 모바일 핫스팟 상태를 체크합니다.

2. 장소 인식 테스트 하는 방법은 무엇인가요?

한 장소에서 최대 6분 이상 머무르면 장소 인식 결과를 확인할 수 있습니다.

다만, Android OS 버전에 따라 다소 차이가 있으니 참고 바랍니다.

3. GPS의 위치 정확도(위치 인식 방식) 중 네트워크 사용(배터리 절전) 혹은 기기만(Only GPS) 만 사용하여도 되나요?

SDK 동작에 문제 없으나 정확한 상권/지오펜스 인식을 위해서는 높은 정확도 설정을 권장 드립니다.