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ı barındırmayı ve çözmeyi deneyin.

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

Cloud Anchor'lar, ARCore API bulut uç noktasında barındırılan anchor'lardır. Bu API, kullanıcıların aynı uygulamada deneyim 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ışma projesi kullanım alanının uygulanması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 kullanılmadığından çok daha kolay bir şekilde kullanmaya başlayabilirsiniz.
  • cloud_anchor_java, çok oyunculu bir kullanım alanının uygulanmasıdı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 Platform sürümü 7.0 (API düzeyi 24) veya sonraki sürümlerin yüklü olduğu Android Studio 3.0 veya sonraki sürümler
  • Android için ARCore SDK'sı. Bu SDK'yı iki şekilde edinebilirsiniz:
    • Aracı GitHub'dan indirip makinenizde ayıklayın.
    • Aşağıdaki komutla depoyu klonlayın:
      git clone https://github.com/google-ar/arcore-android-sdk.git

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

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

Kalıcı Cloud Anchor'ları

  1. Android Studio'da Open'ı (Aç) 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 > persistent_cloud_anchor_java'ya gidip Open'ı (Aç) tıklayın.

Cloud Anchors

  1. Android Studio'da Open'ı (Aç) 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'ya gidin ve Open'ı (Aç) tıklayın.

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

Cloud Anchor kimlikleri, barındırılan Cloud Anchor'ları tanımlayan dizelerdir. Bu öğeler, barındırılan sabitleyicilere eklenen 3D nesneleri çözmek veya oluşturmak için kullanılır.

Kalıcı Cloud Anchor'ları

Cloud Anchor kimliği paylaşımı uygulamada yerel olarak korunur. Burada herhangi bir işlem yapmanız gerekmez.

Cloud Anchors

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

  1. Firebase'i uygulamanıza manuel olarak ekleyin. cloud_anchor_java paket adı com.google.ar.core.examples.java.cloudanchor'dır. Bu bilgiyi main/AndroidManifest.xml bölümünde 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ız için Cloud Anchor'ları barındırmak ve çözmek üzere ARCore API'ye yapılan çağrıları yetkilendirin. Google Cloud'da ARCore API'yi kullanma ile ilgili adımları uygulayın ve Kalıcı 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ı Cloud Anchor'ları

Uygulamayı çalıştırma

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

persistent_cloud_anchor_java cihazınızda başlatılmalı ve ARCore'a cihazın kamerasının önündeki düzlemleri algılaması için istem göndermelidir.

Google Cloud yetkilendirmesi başarısız olursa Sorun giderme adımları bölümüne bakın.

Sabitleme yerleştirme

  1. Uygulama düzlemleri algılamaya başladığında, algılanan düzlemlerden birine tutturucu yerleştirmek için ekranınıza dokunun.
  2. Yerleştirilen sabitleme noktasını barındırmak için BARINDIR düğmesine dokunun. Bu işlem, ARCore API'ye bir ana makine isteği gönderir. Bu istek, sabitleyicinin yakındaki görsel özelliklere göre konumunu temsil eden verileri içerir.

Başarılı bir barındırma isteği, yerleştirilen konumda bir bağlantı noktası oluşturur ve bu bağlantı noktasına bir Cloud Anchor kimliği atar. Ana makine isteği başarılı olursa uygulama bir oda kodu göstermelidir. Bu kodu kullanarak, daha önce bu oda için barındırılan sabitlere herhangi bir cihazdan erişebilirsiniz.

Sabitlemeyi çözme

  1. ÇÖZ'e dokunun ve bu odada barındırılan bağlantılara erişmek için daha önce döndürülen bir oda kodu girin. Bu işlem, ARCore API'ye bir çözümleme isteği gönderir. ARCore API, odada şu anda barındırılan tüm bağlantı noktalarının kimliklerini döndürür. persistent_cloud_anchor_java, barındırılan bağlantılara eklenen 3D nesneleri oluşturmak için bu kimlikleri kullanır.

Cloud Anchors

Uygulamayı çalıştırma

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

cloud_anchor_java cihazınızda başlatılmalı ve ARCore'a cihazın kamerasının önündeki düzlemleri algılaması için istem göndermelidir.

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 firebase_url özelliğinin google-services.json içinde bulunduğundan emin olun. Realtime Database'in oluşturulduğundan emin olarak ve google-services.json indirerek bu özellik için doğru değeri elde edebilirsiniz.


Sabitleme yerleştirme

  1. Uygulama düzlemleri algılamaya başladığında, algılanan düzlemlerden birine tutturucu yerleştirmek için ekranınıza dokunun.
  2. Yerleştirilen sabitleme noktasını barındırmak için BARINDIR düğmesine dokunun. Bu işlem, ARCore API'ye bir ana makine isteği gönderir. Bu istek, sabitleyicinin yakındaki görsel özelliklere göre konumunu temsil eden verileri içerir.

Başarılı bir barındırma isteği, yerleştirilen konumda bir bağlantı oluşturur ve bu bağlantıya Cloud Anchors kimliği atar. Ana makine isteği başarılı olursa uygulama bir oda kodu göstermelidir. Bu kodu kullanarak, daha önce bu oda için barındırılan sabitlere herhangi bir cihazdan erişebilirsiniz.

Sabitlemeyi çözme

  1. ÇÖZ'e dokunun ve bu odada barındırılan bağlantılara erişmek için daha önce döndürülen bir oda kodu girin. Bu işlem, ARCore API'ye bir çözümleme isteği gönderir. ARCore API, odada şu anda barındırılan tüm bağlantı noktalarının kimliklerini döndürür. cloud_anchor_java, barındırılan bağlantılara eklenen 3D nesneleri oluşturmak için bu kimlikleri kullanır.

Sırada ne var?