
사용자 디바이스로 위치정보(위도/경도) 수집이 필요한경우, 앱이 비활성화되어 있는 상태의 백그라운드에서도 위치 조회/수집이 필요한 경우가 생기게됩니다. 이 백그라운드라는 것은 앱을 실행했지만 화면이 꺼지거나, 앱이 내려가 있는경우와 앱을 실행하고 있지 않은경우를 모두 포함합니다. 이렇게 백그라운드인 경우에도 사용자의 위치(위도/경도)정보가 조회되어 수집되어 고객님의 웹서버와 연동처리가 되도록 하기위해 아래 가이드를 참고하여 개발하면 됩니다.
//아래처럼 js함수를 만들고 호출.
function background_geo_start(){
var param = {
action:"background_start", //변경하면 안됩니다.
distanceFilter:5, //(단위:미터)기기의 현재 위치에서 새로운 위치 정보를 업데이트하기 위해 필요한 최소 이동 거리(미터 단위)를 설정.
user_data:{"userid":"user000111"}, //(json 규격)위경도와 함께 웹서버로 전달될 사용자 정보 설정, 예시 : {"userid":"user000111","usertype":"man01"}
schedule: ["1,2,4,5 09:00-18:00"] //=> 반복 스캐줄지정이 필요할때 : 1~7=월~일요일 시작시간-종료시간
}
webkit.messageHandlers.cordova_iab.postMessage(JSON.stringify(param));
}
//schedule => 여러 시간대를 주고 싶으면 배열에 아래처럼 여러 규칙을 넣으면 됩니다.
//schedule: ["1,3,5 09:00-12:00", "1,3,5 13:00-18:00"]
//위 시작호출을 중복호출시엔 마지막 호출정보로 업데이트가 됩니다.
//아래처럼 js함수를 만들고 호출.
function background_geo_stop(){
var param = {
action:"background_stop"
};
webkit.messageHandlers.cordova_iab.postMessage(JSON.stringify(param));
}
{
"data": {
"user_data":{"userid":"사용자id"}, //백그라운드 시작시 앱으로 넘겨준 속성 및 값
"latitude":23.232323,
"longitude":37.373737,
"speed":1.45,
"timestamp":"2025-07-16T21:43:25.123Z",
"heading":271.3
}
}
/*
latitude : Float
longitude : Float
speed : Float (Meters)m/s
heading : Float (Degrees)
timestamp : String ISO-8601
*/