기기의 현재 위치에서 VPS 사용 가능 여부 확인
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Geospatial API는 VPS와 GPS 데이터를 조합하여 고정밀 지리적 위치 포즈를 생성합니다. 이 API는 기기가 위치를 파악할 수 있는 모든 위치에서 사용할 수 있습니다.
- 실내 공간, 인구 밀집 도시 환경 등 GPS 정확도가 낮은 지역에서는 API가 VPS 노출 영역을 기반으로 고정밀도 포즈를 생성합니다.
- 지상 장애물이 거의 없거나 없는 야외 환경에서는 Geospatial API가 사용 가능한 GPS 위치 데이터를 사용하여 Geospatial 포즈를 높은 정확도로 생성할 수 있습니다.
AR 세션이 시작되기 전에 지정된 가로 위치에서 VPS 사용 가능 여부를 확인하고 이를 사용하여 더 구체적인 환경을 만들 수 있습니다. 예를 들어 VPS를 사용할 수 있을 때만 'AR 시작' 버튼을 표시할 수 있습니다.
ARCore API 사용 설정
앱에서 VPS 가용성을 확인하려면 ARCore API를 사용 설정해야 합니다.
앱에서 VPS 사용 가능 여부 확인
Geospatial API는 기기가 위치를 파악할 수 있는 모든 장소에서 사용할 수 있습니다. AR 환경이 VPS 적용 범위에 좌우되는 경우 AREarthManager.CheckVpsAvailabilityAsync()
를 사용하여 지정된 가로 위치에서 VPS 가용성을 확인하는 비동기 작업인 VpsAvailabilityPromise
를 가져올 수 있습니다.
VpsAvailabilityPromise
가 있으면 폴링하여 결과를 가져올 수 있습니다.
결과 폴링
VpsAvailabilityPromise.State
를 사용하여 InterruptiblePromise
의 상태를 가져옵니다. 다음과 같은 세 가지 상태가 있습니다.
작업이 완료될 때까지 VpsAvailabilityPromise.State
을 계속 확인할 수 있습니다.
InterruptiblePromise
취소
VpsAvailabilityPromise.Cancel()
를 사용하여 InterruptiblePromise
를 취소하려고 시도합니다. 스레드 병렬로 인해 취소 시도가 실제로 성공하지 못할 수 있습니다.
VPS 적용 범위가 없는 Geospatial API 사용
Geospatial API는 VPS 적용 범위가 없는 지역에서도 사용할 수 있습니다. 상단에 장애물이 거의 없거나 없는 야외 환경에서는 GPS만으로도 높은 정확도로 포즈를 생성할 수 있습니다.
다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-07-14(UTC)
[null,null,["최종 업데이트: 2025-07-14(UTC)"],[[["\u003cp\u003eThe Geospatial API leverages VPS and GPS data to create highly accurate location anchors, enabling augmented reality experiences in diverse environments.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can check VPS availability before an AR session begins, optimizing user experience by prompting interactions only when VPS is available.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eAREarthManager.CheckVpsAvailabilityAsync()\u003c/code\u003e allows developers to determine VPS availability at a specific location, which can be polled for its status and potentially cancelled.\u003c/p\u003e\n"],["\u003cp\u003eEven without VPS coverage, the Geospatial API can utilize GPS data in outdoor settings with clear skies to achieve accurate pose estimation.\u003c/p\u003e\n"],["\u003cp\u003eAfter confirming VPS availability or GPS suitability, developers can proceed to obtain the device's Geospatial pose, anchoring AR content to real-world locations.\u003c/p\u003e\n"]]],[],null,["# Check VPS availability at the device's current location\n\n\u003cbr /\u003e\n\nThe Geospatial API uses a combination of [VPS](/ar/develop/geospatial#global_localization_with_vps) and GPS data to generate high-accuracy Geospatial poses. The API can be used in any place where the device is able to determine its location:\n\n- In areas with low GPS accuracy, such as indoor spaces and dense urban environments, the API will rely on VPS coverage to generate high-accuracy poses.\n- In outdoor environments with few or no overhead obstructions, the Geospatial API may be able to use available GPS location data to generate Geospatial poses with high accuracy.\n\nYou can determine VPS availability at a given horizontal position before the AR session starts and use it to create more specific experiences --- for example, to present an \"Enter AR\" button only when VPS is available.\n\nEnable the ARCore API\n---------------------\n\nYour app must enable the [ARCore API](/ar/develop/unity-arf/geospatial/enable#enable_the_arcore_api) to check VPS availability.\n\nCheck VPS availability in your app\n----------------------------------\n\nThe Geospatial API can be used in any place where the device is able to determine its location. If your AR experience hinges on VPS coverage, you can use [`AREarthManager.CheckVpsAvailabilityAsync()`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#checkvpsavailabilityasync) to obtain a [`VpsAvailabilityPromise`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/VpsAvailabilityPromise), an asynchronous task that checks the VPS availability at a given horizontal position.\n\nOnce you have the [`VpsAvailabilityPromise`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/VpsAvailabilityPromise), you can obtain its result by polling.\n\n\n### Poll the result\n\nUse [`VpsAvailabilityPromise.State`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/VpsAvailabilityPromise#state) to obtain the state of the `InterruptiblePromise`. There are three different states:\n\n- [`Pending`](/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#promisestate): The operation is not yet complete, so no result is known.\n- [`Cancelled`](/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#promisestate): The operation has been cancelled by [`VpsAvailabilityPromise.Cancel()`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/VpsAvailabilityPromise#cancel). Any registered callback will never be called.\n- [`Done`](/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#promisestate): The operation is complete. Use [`VpsAvailabilityPromise.Result`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/VpsAvailabilityPromise#result) to obtain the result.\n\nYou may continue checking [`VpsAvailabilityPromise.State`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/VpsAvailabilityPromise#state) until the task is complete.\n\nCancel the `InterruptiblePromise`\n---------------------------------\n\nUse [`VpsAvailabilityPromise.Cancel()`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/VpsAvailabilityPromise#cancel) to attempt to cancel the `InterruptiblePromise`. Due to thread parallelism, it may be possible that your cancel attempt does not actually succeed.\n\n\nUse the Geospatial API without VPS coverage\n-------------------------------------------\n\nThe Geospatial API can also be used in areas that do not have VPS coverage. In outdoor environments with few or no overhead obstructions, GPS may be sufficient to generate a pose with high accuracy.\n\nWhat's next\n-----------\n\n- [Obtain the device camera's Geospatial pose](/ar/develop/unity-arf/geospatial/obtain-device-pose) to determine the exact location of the user's device in the real world."]]