Periksa ketersediaan VPS di lokasi perangkat saat ini

Geospatial API menggunakan kombinasi data VPS dan GPS untuk menghasilkan transformasi Geospasial dengan akurasi tinggi. API ini dapat digunakan di mana saja perangkat dapat menentukan lokasinya:

  • Di area dengan akurasi GPS rendah, seperti dalam ruangan dan lingkungan perkotaan yang padat, API akan mengandalkan cakupan VPS untuk menghasilkan transformasi dengan akurasi tinggi.
  • Di lingkungan luar ruangan dengan sedikit atau tanpa penghalang di atas, Geospatial API mungkin dapat menggunakan data lokasi GPS yang tersedia untuk menghasilkan transformasi Geospasial dengan akurasi tinggi.

Anda dapat menentukan ketersediaan VPS pada posisi horizontal tertentu sebelum sesi AR dimulai dan menggunakannya untuk membuat pengalaman yang lebih spesifik — misalnya, untuk menampilkan tombol "Enter AR" hanya jika VPS tersedia.

Mengaktifkan ARCore API

Aplikasi Anda harus mengaktifkan ARCore API untuk memeriksa ketersediaan VPS.

Memeriksa ketersediaan VPS di aplikasi Anda

Geospatial API dapat digunakan di mana saja perangkat dapat menentukan lokasinya. Jika pengalaman AR Anda bergantung pada cakupan VPS, Anda dapat menggunakan GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: untuk mendapatkan GARVPSAvailabilityFuture, tugas asinkron yang memeriksa ketersediaan VPS pada posisi horizontal tertentu. Setelah memiliki GARVPSAvailabilityFuture, Anda dapat memperoleh hasilnya dengan polling atau melalui callback.

Mengambil polling hasil

Gunakan GARFuture.state untuk mendapatkan status Future. Ada tiga status yang berbeda:

  • GARFutureStatePending: Operasi belum selesai, sehingga tidak ada hasil yang diketahui.
  • GARFutureStateCancelled: Operasi telah dibatalkan oleh GARFuture#cancel. Callback yang terdaftar tidak akan pernah dipanggil.
  • GARFutureStateDone: Operasi selesai. Gunakan GARVPSAvailabilityFuture.result untuk mendapatkan hasilnya.

Anda dapat terus memeriksa GARFuture.state hingga tugas selesai.

Mendapatkan hasilnya melalui callback

Anda juga bisa mendapatkan hasil Future melalui callback. Gunakan GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: dan berikan completionHandler. completionHandler ini akan dipanggil di thread Utama segera setelah Future memiliki status GARFutureStateDone.

Batalkan Future

Gunakan GARFuture#cancel untuk mencoba membatalkan Future. Karena paralelisme thread, ada kemungkinan bahwa upaya pembatalan Anda sebenarnya tidak berhasil. GARFuture#cancel menampilkan YES jika upaya ini berhasil, dan NO jika tidak.

Menggunakan Geospatial API tanpa cakupan VPS

Geospatial API juga dapat digunakan di area yang tidak memiliki cakupan VPS. Di lingkungan luar ruangan dengan sedikit atau tanpa penghalang di atas, GPS mungkin cukup untuk menghasilkan pose dengan akurasi tinggi.

Langkah berikutnya