Android için Cloud Anchor hızlı başlangıç kılavuzu

Cloud Anchor'ları cloud_anchor_java ve persistent_cloud_anchor_java örnek uygulamalarında barındırmayı ve çözmeyi deneyin.

Hangi örnek uygulamayı kullanmalısınız?

Cloud Anchor, ARCore API bulut uç noktasında barındırılan sabit öğelerdir. Bu API, kullanıcıların aynı uygulama içinde deneyimleri paylaşmasına olanak tanır. Kalıcı Cloud Anchor'ları, 24 saatten uzun süre barındırılabilen Cloud Anchor'lardır.

  • persistent_cloud_anchor_java, ortak çalışmaya dayalı bir proje kullanım alanının uygulamasıdır. ARCore API çağrılarını yetkilendirmek için anahtarsız yetkilendirmeyi kullanır. Cihazlar arasında Cloud Anchor kimliklerini paylaşmak için Firebase arka ucu kullanılmadığından çalışmaya başlamak çok daha kolaydır.
  • cloud_anchor_java, çok oyunculu bir kullanım alanı uygulamasıdır. ARCore API çağrılarını yetkilendirmek için bir API anahtarı kullanır.

Ön koşullar

Koşullar

Nalbur

Yazılım

  • Android Studio, Android SDK Platformu 7.0 (API düzeyi 24) veya sonraki bir sürüme sahip sürüm 3.0 veya üzeri
  • Android için ARCore SDK'sını iki şekilde edinebilirsiniz:
    • GitHub'dan indirip makinenize çıkarın.
    • Aşağıdaki komutla kod deposunu klonlayın:
      git clone https://github.com/google-ar/arcore-android-sdk.git

Android Studio'da örnek uygulamayı açın

ARCore SDK'sı, Cloud Anchor işlevini göstermek için cloud_anchor_java ve persistent_cloud_anchor_java örnek uygulamaları sağlar. Uygulamaları Android Studio'da açmak için aşağıdaki adımları uygulayın.

Kalıcı Bulut Bağlantıları

  1. Android Studio'da 'ı tıklayın.

  2. Makinenizde arcore-android-sdk dizininin depolandığı yere gidin. SDK klasörünün tamamını açmayın. Bunun yerine, samples (örnekler) > persistent_cloud_anchor_java adresine gidip 'ı tıklayın.

Cloud Anchor

  1. Android Studio'da 'ı tıklayın.

  2. Makinenizde arcore-android-sdk dizininin depolandığı yere gidin. SDK klasörünün tamamını açmayın. Bunun yerine, samples > cloud_anchor_java adresine gidip 'ı tıklayın.

Cloud Anchor Kimliği paylaşımını ayarlama

Bulut Sabitleyici Kimlikleri, barındırılan Cloud Anchor'larını tanımlayan dizelerdir. Bunlar, barındırılan sabitlere ekli 3D nesneleri çözümlemek veya oluşturmak için kullanılır.

Kalıcı Bulut Bağlantıları

Cloud Anchor ID paylaşımı, uygulama içinde yerel olarak sağlanır. Burada herhangi bir işlem yapmanız gerekmez.

Cloud Anchor

cloud_anchor_java örnek uygulaması, cihazlar arasında Cloud Anchor kimliklerini paylaşmak için Firebase'in Gerçek Zamanlı Veritabanlarını kullanır. Kendi uygulamalarınızda farklı bir çözüm kullanabilirsiniz.

  1. Uygulamanıza Firebase'i manuel olarak ekleyin. cloud_anchor_java paket adı com.google.ar.core.examples.java.cloudanchor şeklindedir. Bunu main/AndroidManifest.xml adresinde bulabilirsiniz.
  2. Firebase'i uygulamanıza eklediğinizde oluşturduğunuz google-services.json dosyasını indirin.
  3. Firebase ile Realtime Database oluşturun.
  4. Android Studio'da google-services.json dosyasını projenizin app dizinine ekleyin.

ARCore API çağrılarını yetkilendirme

Uygulamanızda Cloud Anchor'ları barındırmak ve çözmek için ARCore API'ye yapılan çağrıları yetkilendirin. Google Cloud'da ARCore API'yi kullanma bölümündeki adımları uygulayın ve Persistent Cloud Anchor'ları için Anahtarsız Yetkilendirme'yi veya Cloud Anchor'lar için API Anahtarı yetkilendirmesi'ni kullanın.

Örnek uygulamayı derleyip çalıştırma

Kalıcı Bulut Bağlantıları

Uygulamayı çalıştırma

  1. Cihazınızın geliştirici seçenekleri ve USB üzerinden hata ayıklama'yı etkinleştirdiğinden emin olun.
  2. Cihazınızı USB ile geliştirme makinenize bağlayın.
  3. Android Studio'da dağıtım hedefi olarak cihazınızı seçin ve Çalıştır'ı tıklayın.

persistent_cloud_anchor_java, cihazınızda başlatılacak ve ARCore'un cihaz kamerasının önündeki uçakları algılaması istenecek.

Google Cloud yetkilendirmesi başarısız olursa Sorun giderme adımları'na göz atın.

Bağlayıcı yerleştirme

  1. Uygulama uçakları algılamaya başladığında, algılanan düzlemlerden birine demir yerleştirmek için ekranınıza dokunun.
  2. Yerleştirilmiş bağlayıcıyı barındırmak için HOST düğmesine dokunun. Bu işlem, ARCore API'sine bir ana makine isteği gönderir. Bu istek, bağlantı öğesinin yanındaki görsel özelliklere göre konumunu temsil eden verileri içerir.

Başarılı bir ana makine isteği, yerleştirilen konumda bir çapa oluşturur ve buna bir Cloud Anchor Kimliği atar. Düzenleyen isteği başarılı olursa uygulamada bir oda kodu gösterilir. Bu kodu, herhangi bir cihazda bu oda için önceden barındırılan sabitlere erişmek üzere kullanabilirsiniz.

Bağlayıcıyı çözümleme

  1. ÇÖZÜM'e dokunun ve bu odada barındırılan sabitlere erişmek için daha önce geri verilen bir oda kodunu girin. Bu işlem, ARCore API'sine bir çözümleme isteği gönderir ve bu istek, şu anda odada barındırılan tüm sabitlerin kimliklerini döndürür. persistent_cloud_anchor_java, bu kimlikleri barındırılan sabitlere ekli 3D nesneleri oluşturmak için kullanır.

Cloud Anchor

Uygulamayı çalıştırma

  1. Cihazınızın geliştirici seçenekleri ve USB üzerinden hata ayıklama'yı etkinleştirdiğinden emin olun.
  2. Cihazınızı USB ile geliştirme makinenize bağlayın.
  3. Android Studio'da dağıtım hedefi olarak cihazınızı seçin ve Çalıştır'ı tıklayın.

cloud_anchor_java, cihazınızda başlatılacak ve ARCore'un cihaz kamerasının önündeki uçakları algılaması istenecek.

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

Bu hatayla karşılaşırsanız google-services.json özelliğinde firebase_url özelliğinin bulunduğundan emin olun. Realtime Database'in oluşturulmasını sağlayıp google-services.json dosyasını indirerek bu mülk için doğru değeri elde edebilirsiniz.


Bağlayıcı yerleştirme

  1. Uygulama uçakları algılamaya başladığında, algılanan düzlemlerden birine demir yerleştirmek için ekranınıza dokunun.
  2. Yerleştirilmiş bağlayıcıyı barındırmak için HOST düğmesine dokunun. Bu işlem, ARCore API'sine bir ana makine isteği gönderir. Bu istek, bağlantı öğesinin yanındaki görsel özelliklere göre konumunu temsil eden verileri içerir.

Başarılı bir ana makine isteği, yerleştirilen konumda bir çapa oluşturur ve buna bir Cloud Anchor Kimliği atar. Düzenleyen isteği başarılı olursa uygulamada bir oda kodu gösterilir. Bu kodu, herhangi bir cihazda bu oda için önceden barındırılan sabitlere erişmek üzere kullanabilirsiniz.

Bağlayıcıyı çözümleme

  1. ÇÖZÜM'e dokunun ve bu odada barındırılan sabitlere erişmek için daha önce geri verilen bir oda kodunu girin. Bu işlem, ARCore API'sine bir çözümleme isteği gönderir ve bu istek, şu anda odada barındırılan tüm sabitlerin kimliklerini döndürür. cloud_anchor_java, bu kimlikleri barındırılan sabitlere ekli 3D nesneleri oluşturmak için kullanır.

Sonraki adımlar