ARCore Cloud Anchor API, atau layanan ARCore Cloud Anchor, menyediakan kemampuan cloud anchor untuk aplikasi iOS Anda, sehingga memungkinkan pengguna di perangkat iOS dan Android berbagi pengalaman AR.
Panduan ini menunjukkan cara:
- Menyiapkan lingkungan pengembangan agar dapat berfungsi dengan Cloud Anchors
- Mencoba menghosting dan me-resolve anchor di aplikasi contoh
Prasyarat
- Xcode versi 13.0 atau yang lebih baru
- Cocoapods 1.4.0 atau yang lebih baru jika menggunakan Cocoapods
- Perangkat Apple yang kompatibel dengan ARKit yang menjalankan iOS 12.0 atau yang lebih baru (target deployment iOS 12.0 atau yang lebih baru diperlukan)
Menggunakan Cloud Anchors
Langkah-langkah berikut menggunakan aplikasi contoh Cloud Anchors untuk menunjukkan tugas kritis untuk mengonfigurasi dan mem-build aplikasi yang mendukung ARCore Cloud Anchors.
Mendapatkan aplikasi contoh Cloud Anchors
Lakukan clone atau download ARCore SDK for iOS dari GitHub untuk mendapatkan kode aplikasi contoh.
Buka jendela Terminal atau Finder, lalu buka folder tempat Anda meng-clone atau mendownload SDK.
Anda dapat menemukan kode aplikasi contoh di
/arcore-ios-sdk-master/Examples/CloudAnchorExample
.Kode aplikasi contoh persistent cloud anchor berada di
/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
.
Penyiapan sesi
Aplikasi contoh melakukan tugas penting berikut sebagai bagian dari penyiapan sesi:
- Membuat
GARSession
- Membuat
ARSession
dan menjalankannya - Menetapkan
ARSessionDelegate
. - Meneruskan
ARFrame
keGARSession
dalam metodesession:didUpdateFrame:
.
Menyiapkan berbagi ID Cloud Anchor
Aplikasi contoh Cloud Anchors menggunakan Firebase untuk membagikan ID Cloud Anchor di antara perangkat. Anda dapat menggunakan solusi lain di aplikasi Anda sendiri.
Untuk menyiapkan database Firebase di aplikasi contoh:
- Ikuti petunjuk Firebase untuk menambahkan Firebase ke aplikasi Anda.
- Download file
GoogleService-Info.plist
yang dihasilkan sebagai bagian dari menambahkan Firebase ke aplikasi Anda. - Aktifkan penyimpanan Firebase untuk sampel:
- Buka Firebase console dan pilih project yang Anda siapkan untuk aplikasi contoh.
- Pilih panel Database.
- Pada opsi Realtime Database, klik Get Started.
- Menu Security rules for Realtime Database akan terbuka.
- Untuk tujuan menjalankan contoh, pilih Start in test mode.
- Perhatikan bahwa jika menggunakan Firebase untuk aplikasi yang ingin dipublikasikan, Anda harus menggunakan aturan keamanan yang lebih ketat.
- Di Xcode, tambahkan file
GoogleService-Info.plist
ke aplikasi Anda, di sampingInfo.plist
.
Menyiapkan ARCore API
Untuk menggunakan Cloud Anchors, Anda harus menyiapkan ARCore API terlebih dahulu untuk aplikasi Anda.
Menjalankan update pod
Aplikasi CloudAnchorExample dilengkapi dengan Podfile
yang telah dikonfigurasi sebelumnya dengan
ARCore SDK dan versi iOS yang akan Anda perlukan. Untuk menginstal dependensi ini:
- Buka jendela Terminal dan jalankan
pod update
dari folder tempat project Xcode berada.
Tindakan ini akan menghasilkan file.xcworkspace
yang akan Anda gunakan nanti untuk mem-build dan menjalankan aplikasi.
Lihat Menambahkan ARCore SDK ke aplikasi
untuk mengetahui detail tentang cara mengonfigurasi Podfile
di aplikasi Anda sendiri.
Buka file
.xcworkspace
untuk project di Xcode.Untuk menghindari error build, pastikan Anda mem-build dari file
.xcworkspace
, bukan file.xcodeproj
.
Mengubah ID paket aplikasi
Di Xcode, ubah ID paket aplikasi agar Anda dapat menandatangani aplikasi dengan tim.
Membuat dan menjalankan aplikasi
Hubungkan perangkat dan luncurkan aplikasi di Xcode.
(Opsional) Jika Anda mem-build dan menjalankan aplikasi contoh, lihat bagian berikut untuk mengetahui detail tentang cara menggunakan aplikasi untuk menghosting dan me-resolve Cloud Anchors.
Mencoba aplikasi contoh
Build dan jalankan aplikasi contoh dari file
.xcworkspace
untuk meluncurkannya di perangkat Anda.Jika diminta, berikan izin kamera ke aplikasi. ARKit kemudian mulai mendeteksi bidang di depan kamera Anda.
Ketuk HOST untuk masuk ke mode hosting. Kode ruang untuk membagikan anchor yang dihosting akan dibuat dan muncul di layar Anda.
Ketuk bidang untuk mulai menghosting anchor cloud di sana.
- Aplikasi menempatkan objek Andy Android di bidang dan memasang anchor kepadanya.
- Permintaan host dikirim ke endpoint cloud ARCore API. Permintaan host menyertakan data yang mewakili posisi anchor relatif terhadap fitur visual di dekatnya.
- Setelah dihosting, anchor akan mendapatkan ID yang digunakan untuk me-resolve anchor cloud di ruang ini.
Ketuk RESOLVE dan masukkan kode ruangan untuk mengakses Cloud Anchor yang dihosting sebelumnya untuk ruangan ini, menggunakan perangkat yang sama atau berbeda.
- Permintaan penyelesaian dikirim ke endpoint cloud ARCore API.
- Permintaan penyelesaian menyertakan ID cloud anchor. Jika ID cocok dengan anchor yang dihosting dan pelokalan berhasil, server akan menampilkan transformasi anchor dalam koordinat lokal Anda.
- Aplikasi contoh menggunakan transformasi untuk menambahkan anchor ke tampilan dan merender objek virtual yang terpasang padanya.
Menambahkan ARCore SDK ke aplikasi
Di aplikasi Anda sendiri, Anda harus mengupdate Podfile
untuk menyertakan
ARCore SDK dan versi iOS yang didukung. Untuk melakukannya:
Tambahkan
platform
danpod
berikut kePodfile
project Anda:platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.48.0'
- Buka jendela Terminal dan jalankan
pod update
dari folder tempat project Xcode Anda berada.
Tindakan ini akan menghasilkan file.xcworkspace
yang Anda gunakan untuk mem-build dan menjalankan aplikasi.
Cloud anchor persisten
Seperti yang dijelaskan dalam Menghosting Cloud Anchor dengan persistensi,
Anda dapat memberikan waktu aktif hingga 365 hari ke anchor cloud. Contoh kode untuk
menggunakan anchor cloud persisten tersedia di direktori /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
di ARCore SDK for iOS dari GitHub.
Langkah berikutnya
Lihat Panduan Developer Cloud Anchors untuk iOS untuk mempelajari contoh kode aplikasi dan mempelajari lebih lanjut cara menggunakan Cloud Anchors di aplikasi Anda sendiri.
Tinjau detailnya di Referensi ARCore iOS API.