Mengaktifkan Geospatial API untuk aplikasi Unity (AR Foundation) yang menargetkan iOS

Konfigurasikan setelan aplikasi Anda agar dapat menggunakan Geospatial API.

Prasyarat

Pastikan Anda memahami konsep AR dasar dan cara mengonfigurasi sesi ARCore sebelum melanjutkan.

Lihat Pengantar Geospatial API untuk informasi selengkapnya tentang Geospatial API.

Jika Anda baru menggunakan ARCore, lihat Memulai untuk mengetahui informasi tentang persyaratan software dan hardware, prasyarat, dan informasi lainnya yang khusus untuk platform yang Anda gunakan.

Untuk menggunakan ARCore Geospatial API, project Anda harus mendukung AR Foundation dan ARCore Extensions for AR Foundation.

Mengaktifkan ARCore API

Sebelum menggunakan Sistem Pemosisi Visual (VPS) di aplikasi, Anda harus mengaktifkan ARCore API di project Google Cloud baru atau yang sudah ada terlebih dahulu. Layanan ini bertanggung jawab untuk menghosting, menyimpan, dan me-resolve anchor Geospasial.

Otorisasi tanpa kunci lebih diutamakan, tetapi otorisasi Kunci API juga didukung.

Menambahkan library yang diperlukan ke aplikasi Anda

Setelah memberikan otorisasi pada aplikasi untuk memanggil ARCore API, Anda harus menambahkan library untuk mengaktifkan fitur Geospasial di aplikasi.

  1. Buka Edit > Project Settings > XR Plug-In Management > ARCore Extensions. Pastikan iOS Support Enabled dipilih.
  2. Di bagian Optional Features, pilih Geospatial.

Mengaktifkan kemampuan Geospasial dalam konfigurasi sesi

Setelah fungsi Geospasial diaktifkan di aplikasi, aktifkan kemampuan Geospasial di konfigurasi sesi AR aplikasi Anda agar dapat berkomunikasi dengan ARCore API:

  1. Pastikan folder Assets project berisi objek ARCoreExtensionsConfig yang dapat di-script. Untuk membuatnya, klik kanan di panel Assets, lalu pilih Create > XR > ARCore Extensions Config.
  2. Pilih objek scriptable ARCoreExtensionsConfig di folder Assets dan tetapkan Geospatial Mode ke Enabled.

  3. Konfigurasikan objek game ARCore Extensions untuk menggunakan konfigurasi ARCoreExtensionsConfig. Di panel Hierarchy, temukan objek game ARCore Extensions yang Anda buat saat pertama kali menyiapkan ARCore Extensions, dan hubungkan kolom ARCore Extensions Config ke objek ARCoreExtensionsConfig yang dapat diberi skrip di folder Assets.

Meminta pengguna untuk mengizinkan penggunaan data perangkat

Aplikasi yang menggunakan ARCore Geospatial API harus menampilkan perintah kepada pengguna untuk mengonfirmasi dan mengizinkan penggunaan data dari perangkat mereka. Lihat Persyaratan privasi pengguna untuk mengetahui informasi selengkapnya.

Memeriksa kompatibilitas perangkat

Tidak semua perangkat yang mendukung ARCore juga mendukung Geospatial API. Untuk memeriksa kompatibilitas perangkat pengguna, panggil AREarthManager.IsGeospatialModeSupported(). Jika ini menampilkan FeatureSupported.Unsupported, jangan coba konfigurasikan sesi.

Meminta izin akses lokasi kepada pengguna saat runtime

Untuk mengaktifkan layanan lokasi Unity dalam skrip yang memicu permintaan izin runtime, lakukan hal berikut:

  1. Di Project Settings > iOS > Other Settings > Location Usage Description, masukkan nama aplikasi yang meminta izin.

  2. Aktifkan layanan lokasi Unity untuk memicu permintaan izin runtime, sebagai berikut:

    public void OnEnable()
    {
        Input.location.Start();
    }
    
    public void OnDisable()
    {
        Input.location.Stop();
    }
    

    Lihat dokumentasi LocationService Unity untuk mengetahui informasi selengkapnya.

Memeriksa ketersediaan Geospasial di lokasi perangkat saat ini

Karena Geospatial API menggunakan kombinasi VPS dan GPS untuk menentukan pose Geospasial, API ini dapat digunakan selama perangkat dapat menentukan lokasinya. Di area dengan akurasi GPS rendah, seperti ruang dalam ruangan dan lingkungan perkotaan yang padat, API akan mengandalkan cakupan VPS untuk menghasilkan pose dengan akurasi tinggi. Dalam kondisi normal, VPS dapat diharapkan untuk memberikan akurasi posisi sekitar 5 meter, dan akurasi rotasi 5 derajat. Gunakan AREarthManager.CheckVpsAvailability() untuk menentukan apakah lokasi tertentu memiliki 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