ARCore Cloud Anchor API, atau layanan ARCore Cloud Anchor, menyediakan kemampuan cloud anchor untuk aplikasi iOS Anda, sehingga pengguna di perangkat iOS dan Android dapat 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 Anchor
Langkah-langkah berikut menggunakan aplikasi contoh Cloud Anchors untuk menunjukkan kepada Anda tugas untuk mengonfigurasi dan membangun aplikasi yang mendukung ARCore Cloud Anchors.
Mendapatkan aplikasi contoh Cloud Anchors
Lakukan clone atau download ARCore SDK untuk 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 anchor cloud persisten adalah dalam
/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
. - Lulus
ARFrame
dtk 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 berbeda 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 dibuat sebagai bagian dari penambahan Firebase ke aplikasi Anda. - Aktifkan penyimpanan Firebase untuk contoh:
- Buka Firebase console dan pilih project yang Anda siapkan aplikasi contoh.
- Pilih panel Database.
- Pada opsi Realtime Database, klik Get Started.
- Menu Security rules for Realtime Database akan terbuka.
- Untuk 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 Anchor, Anda harus terlebih dahulu menyiapkan ARCore API untuk aplikasi Anda.
Jalankan 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 menghasilkan file.xcworkspace
yang nantinya akan Anda gunakan untuk membangun 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 membangun dari
.xcworkspace
dan bukan file.xcodeproj
.
Mengubah ID paket aplikasi
Di Xcode, ubah ID paket aplikasi agar Anda dapat menandatangani aplikasi dengan tim Anda.
Membuat dan menjalankan aplikasi
Hubungkan perangkat Anda dan luncurkan aplikasi di Xcode.
(Opsional) Jika Anda membangun dan menjalankan aplikasi contoh, lihat hal berikut untuk mengetahui detail tentang cara menggunakan aplikasi untuk menghosting dan me-resolve Cloud Anchors.
Mencoba aplikasi contoh
Bangun dan jalankan aplikasi contoh dari file
.xcworkspace
untuk diluncurkan di perangkat Anda.Jika diminta, berikan izin kamera ke aplikasi. ARKit kemudian mulai mendeteksi pesawat di depan kamera Anda.
Ketuk HOST untuk masuk ke mode hosting. Kode ruang untuk berbagi anchor yang dihosting akan dibuat dan ditampilkan pada layar.
Ketuk bidang untuk mulai menghosting anchor cloud di sana.
- Aplikasi menempatkan objek Android Andy pada bidang dan melampirkan anchor IP eksternal mana pun yang ditetapkan pada instance tersebut.
- 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, lalu masukkan kode ruangan yang ingin diakses sebelumnya Cloud Anchor yang dihosting untuk ruang ini, menggunakan perangkat yang sama maupun berbeda.
- Permintaan penyelesaian dikirim ke endpoint cloud ARCore API.
- Permintaan penyelesaian menyertakan ID anchor cloud. 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 pembuatan versi iOS yang didukung. Untuk melakukannya:
Tambahkan
platform
danpod
berikut kePodfile
project Anda:platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.46.0'
- Buka jendela Terminal dan jalankan
pod update
dari folder tempat ada proyek Xcode Anda.
Tindakan ini akan menghasilkan file.xcworkspace
yang Anda gunakan untuk mem-build dan menjalankan aplikasi.
Anchor cloud persisten
Seperti yang dijelaskan dalam Menghosting Cloud Anchor dengan persistensi,
Anda dapat memberi anchor cloud masa aktif hingga 365 hari. Kode contoh untuk
cara menggunakan anchor cloud persisten tersedia di /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
di ARCore SDK untuk 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 API iOS ARCore.