Panduan memulai Cloud Anchors untuk Android

Coba hosting dan selesaikan Cloud Anchor di aplikasi contoh cloud_anchor_java dan persistent_cloud_anchor_java.

Aplikasi contoh mana yang harus Anda gunakan?

Cloud Anchors adalah anchor yang dihosting di endpoint cloud ARCore API. API ini memungkinkan pengguna berbagi pengalaman dalam aplikasi yang sama. Persistent Cloud Anchors adalah Cloud Anchors yang dapat dihosting selama lebih dari 24 jam.

  • persistent_cloud_anchor_java adalah penerapan kasus penggunaan project kolaboratif. Aplikasi ini menggunakan otorisasi tanpa kunci untuk mengizinkan panggilan ARCore API. Karena tidak menggunakan backend Firebase untuk membagikan ID Cloud Anchor antarperangkat, aplikasi ini jauh lebih mudah disiapkan dan dijalankan.
  • cloud_anchor_java adalah penerapan kasus penggunaan multi-pemain. Aplikasi ini menggunakan kunci API untuk mengizinkan panggilan ARCore API.

Prasyarat

Persyaratan

Hardware

Software

  • Android Studio versi 3.0 atau yang lebih baru dengan Android SDK Platform versi 7.0 (level API 24) atau yang lebih tinggi
  • ARCore SDK for Android, yang bisa Anda dapatkan dengan salah satu dari dua cara berikut:
    • Download dari GitHub dan ekstrak di komputer Anda
    • Clone repositori dengan perintah berikut:
      git clone https://github.com/google-ar/arcore-android-sdk.git

Membuka aplikasi contoh di Android Studio

ARCore SDK menyediakan aplikasi contoh cloud_anchor_java dan persistent_cloud_anchor_java untuk mendemonstrasikan fungsi Cloud Anchors. Ikuti langkah-langkah berikut untuk membuka aplikasi di Android Studio.

Persistent Cloud Anchors

  1. Di Android Studio, klik Open.

  2. Buka tempat direktori arcore-android-sdk disimpan di komputer Anda. Jangan membuka seluruh folder SDK. Sebagai gantinya, buka samples > persistent_cloud_anchor_java, lalu klik Open.

Cloud Anchors

  1. Di Android Studio, klik Open.

  2. Buka tempat direktori arcore-android-sdk disimpan di komputer Anda. Jangan membuka seluruh folder SDK. Sebagai gantinya, buka samples > cloud_anchor_java, lalu klik Open.

Menyiapkan berbagi ID Cloud Anchor

ID Cloud Anchor adalah string yang mengidentifikasi Cloud Anchor yang dihosting. Objek ini digunakan untuk menyelesaikan, atau merender objek 3D yang terlampir pada, anchor yang dihosting.

Persistent Cloud Anchors

Berbagi ID Cloud Anchor dipertahankan secara lokal di aplikasi. Anda tidak perlu melakukan apa pun di sini.

Cloud Anchors

Aplikasi contoh cloud_anchor_java menggunakan Firebase Realtime Database untuk membagikan ID Cloud Anchor antarperangkat. Anda dapat menggunakan solusi lain di aplikasi Anda sendiri.

  1. Tambahkan Firebase ke aplikasi Anda secara manual. Nama paket cloud_anchor_java adalah com.google.ar.core.examples.java.cloudanchor. Anda dapat menemukannya di main/AndroidManifest.xml.
  2. Download file google-services.json yang Anda buat saat menambahkan Firebase ke aplikasi Anda.
  3. Buat Realtime Database dengan Firebase.
  4. Di Android Studio, tambahkan file google-services.json ke direktori app project Anda.

Memberi otorisasi panggilan ARCore API

Beri otorisasi panggilan ke ARCore API untuk menghosting dan me-resolve Cloud Anchor untuk aplikasi Anda. Ikuti langkah-langkah di Menggunakan ARCore API di Google Cloud dan gunakan Otorisasi tanpa kunci untuk Cloud Anchor Persisten atau otorisasi Kunci API untuk Cloud Anchor.

Mem-build dan menjalankan aplikasi contoh

Persistent Cloud Anchors

Menjalankan aplikasi

  1. Pastikan perangkat Anda telah mengaktifkan opsi developer dan proses debug USB.
  2. Hubungkan perangkat Anda melalui USB ke mesin pengembangan Anda.
  3. Di Android Studio, pilih perangkat Anda sebagai target deployment, lalu klik Run.

persistent_cloud_anchor_java akan diluncurkan di perangkat Anda, sehingga ARCore mendeteksi bidang di depan kamera perangkat.

Jika otorisasi Google Cloud gagal, lihat Langkah-langkah pemecahan masalah.

Menempatkan anchor

  1. Setelah aplikasi mulai mendeteksi bidang, ketuk layar Anda untuk menempatkan penanda di salah satu bidang yang terdeteksi.
  2. Ketuk tombol HOST untuk menghosting anchor yang ditempatkan. Tindakan ini mengirimkan permintaan host ke ARCore API, yang mencakup data yang merepresentasikan posisi anchor relatif terhadap fitur visual di dekatnya.

Permintaan host yang berhasil akan membuat anchor di lokasi yang ditempatkan dan menetapkan ID Cloud Anchor ke anchor tersebut. Jika permintaan host berhasil, aplikasi akan menampilkan kode ruang. Anda dapat menggunakan kode ini untuk mengakses anchor yang sebelumnya dihosting untuk ruangan ini di perangkat apa pun.

Me-resolve anchor

  1. Ketuk SELESAIKAN dan masukkan kode ruang yang sebelumnya ditampilkan untuk mengakses anchor yang dihosting di ruang ini. Tindakan ini mengirimkan permintaan penyelesaian ke ARCore API, yang menampilkan ID semua anchor yang saat ini dihosting di ruangan. persistent_cloud_anchor_java akan menggunakan ID ini untuk merender objek 3D yang terpasang pada anchor yang dihosting.

Cloud Anchors

Menjalankan aplikasi

  1. Pastikan perangkat Anda telah mengaktifkan opsi developer dan proses debug USB.
  2. Hubungkan perangkat Anda melalui USB ke mesin pengembangan Anda.
  3. Di Android Studio, pilih perangkat Anda sebagai target deployment, lalu klik Run.

cloud_anchor_java akan diluncurkan di perangkat Anda, sehingga ARCore mendeteksi bidang di depan kamera perangkat.

Error: com.google.firebase.database.DatabaseException: Failed to get FirebaseDatabase instance: Specify DatabaseURL within FirebaseApp or from your getInstance

Jika Anda mengalami error ini, pastikan properti firebase_url ada di google-services.json. Anda bisa mendapatkan nilai yang benar untuk properti ini dengan memastikan bahwa Realtime Database telah dibuat dan mendownload google-services.json.


Menempatkan anchor

  1. Setelah aplikasi mulai mendeteksi bidang, ketuk layar Anda untuk menempatkan penanda di salah satu bidang yang terdeteksi.
  2. Ketuk tombol HOST untuk menghosting anchor yang ditempatkan. Tindakan ini mengirimkan permintaan host ke ARCore API, yang mencakup data yang merepresentasikan posisi anchor relatif terhadap fitur visual di dekatnya.

Permintaan host yang berhasil akan membuat anchor di lokasi yang ditempatkan dan menetapkan ID Cloud Anchors ke anchor tersebut. Jika permintaan host berhasil, aplikasi akan menampilkan kode ruang. Anda dapat menggunakan kode ini untuk mengakses anchor yang sebelumnya dihosting untuk ruangan ini di perangkat apa pun.

Me-resolve anchor

  1. Ketuk SELESAIKAN dan masukkan kode ruang yang sebelumnya ditampilkan untuk mengakses anchor yang dihosting di ruang ini. Tindakan ini mengirimkan permintaan penyelesaian ke ARCore API, yang menampilkan ID semua anchor yang saat ini dihosting di ruangan. cloud_anchor_java akan menggunakan ID ini untuk merender objek 3D yang terpasang pada anchor yang dihosting.

Langkah selanjutnya