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

cloud_anchor_java ve persistent_cloud_anchor_java örnek uygulamalarında Cloud Anchor'larını barındırmayı ve çözümlemeyi deneyin.

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

Cloud Anchor, ARCore API bulut uç noktasında barındırılan çapalardır. Bu API, kullanıcıların aynı uygulamadaki deneyimleri paylaşmasını sağlar. Kalıcı Cloud Anchor'lar, 24 saatten uzun süre barındırılabilen Cloud Anchor'larıdı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 yetkilendirme kullanır. Cihazlar arasında Cloud Anchor kimliklerini paylaşmak için Firebase arka ucu kullanmadığından, çalışmaya başlamak çok daha kolaydır.
  • cloud_anchor_java, çok oyunculu kullanım alanına yönelik bir uygulamadır. ARCore API çağrılarını yetkilendirmek için bir API anahtarı kullanır.

Ön koşullar

Şartlar

Donanım

Yazılım

  • Android SDK Platformu 7.0 (API düzeyi 24) veya sonraki sürümlere sahip Android Studio 3.0 veya sonraki sürümleri
  • Aşağıdaki iki yöntemden birini kullanarak edinebileceğiniz Android için ARCore SDK'sı:
    • Dosyayı GitHub'dan indirip makinenize çıkarın
    • Aşağıdaki komutla depoyu klonlayın:
      git clone https://github.com/google-ar/arcore-android-sdk.git
      .

Örnek uygulamayı Android Studio'da aç

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

Kalıcı Cloud Anchor'ları

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

  2. arcore-android-sdk dizininin bilgisayarınızda depolandığı yere gidin. SDK klasörünün tamamını açmayın. Bunun yerine örnekler'e gidin > persistent_cloud_anchor_java ve 'ı tıklayın.

Cloud Anchor'ları

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

  2. arcore-android-sdk dizininin bilgisayarınızda depolandığı yere gidin. SDK klasörünün tamamını açmayın. Bunun yerine örnekler'e gidin > cloud_anchor_java ve 'ı tıklayın.

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

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

Kalıcı Cloud Anchor'ları

Cloud Anchor Kimliği paylaşımı, uygulamada yerel olarak tutulur. Burada herhangi bir işlem yapmanız gerekmez.

Cloud Anchor'ları

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. Firebase'i uygulamanıza manuel olarak ekleyin. cloud_anchor_java paketinin adı com.google.ar.core.examples.java.cloudanchor şeklindedir. main/AndroidManifest.xml sayfasında bulabilirsiniz.
  2. Firebase'i uygulamanıza eklerken oluşturduğunuz google-services.json dosyasını indirin.
  3. Firebase ile Gerçek Zamanlı Veritabanı oluşturun.
  4. Android Studio'da google-services.json dosyasını projenizin app dizinine ekleyin.

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

Sizin için Cloud Anchor'ları barındırmak ve çözmek üzere ARCore API'ye yapılan çağrıları yetkilendirin uygulamasını indirin. Google'da ARCore API'yi kullanma Cloud ve Anahtarsız Anahtarsız Yetkilendirme veya kalıcı bulut bağlantıları için API anahtarı yetkilendirmesi Cloud Anchors.

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

Kalıcı Cloud Anchor'ları

Uygulamayı çalıştırın

  1. Cihazınızda geliştirici seçeneklerini ve USB üzerinden hata ayıklamayı etkinleştirdiğinizden 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ılarak ARCore'un cihaz kamerasının önündeki uçakları algılamasını ister.

Google Cloud yetkilendirmesi başarısız olursa Sorun giderme adımları başlıklı makaleye bakın.

Sabitleyici yerleştirme

  1. Uygulama uçakları algılamaya başladığında, algılanan düzlemlerden birine bir sabitleyici yerleştirmek için ekranınıza dokunun.
  2. Yerleştirilmiş sabit reklamı barındırmak için HOST düğmesine dokunun. Bu işlem, ARCore API'ye bir ana makine isteği gönderir. Bu API, yanındaki görsel özelliklere göre çapanın 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 oda için daha önce barındırılan sabitlere herhangi bir cihazdan erişmek üzere bu kodu kullanabilirsiniz.

Bağlayıcı çözümleme

  1. Bu odada barındırılan sabitlere erişmek için DÜZELT'e dokunup daha önce döndürülen oda kodunu girin. Bu işlem, ARCore API'ye bir çözümleme isteği gönderir. Bu API, odada barındırılan tüm çapaların kimliklerini döndürür. persistent_cloud_anchor_java, barındırılan sabitlere ekli 3D nesneleri oluşturmak için bu kimlikleri kullanır.

Cloud Anchor'ları

Uygulamayı çalıştırın

  1. Cihazınızda geliştirici seçeneklerini ve USB üzerinden hata ayıklamayı etkinleştirdiğinizden 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ılarak ARCore'un cihaz kamerasının önündeki uçakları algılamasını ister.

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 öğesinde firebase_url özelliğinin bulunduğundan emin olun. Realtime Database'in oluşturulup google-services.json dosyasını indirerek bu mülk için doğru değeri elde edebilirsiniz.


Sabitleyici yerleştirme

  1. Uygulama uçakları algılamaya başladığında, algılanan düzlemlerden birine bir sabitleyici yerleştirmek için ekranınıza dokunun.
  2. Yerleştirilmiş sabit reklamı barındırmak için HOST düğmesine dokunun. Bu işlem, ARCore API'ye bir ana makine isteği gönderir. Bu API, yanındaki görsel özelliklere göre çapanın 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 Anchors kimliği atar. Düzenleyen isteği başarılı olursa uygulamada bir oda kodu gösterilir. Bu oda için daha önce barındırılan sabitlere herhangi bir cihazdan erişmek üzere bu kodu kullanabilirsiniz.

Bağlayıcı çözümleme

  1. Bu odada barındırılan sabitlere erişmek için DÜZELT'e dokunup daha önce döndürülen oda kodunu girin. Bu işlem, ARCore API'ye bir çözümleme isteği gönderir. Bu API, odada barındırılan tüm çapaların kimliklerini döndürür. cloud_anchor_java, barındırılan sabitlere ekli 3D nesneleri oluşturmak için bu kimlikleri kullanır.

Sırada ne var?