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
- Çapaların ve Cloud Anchor'ların işleyiş şeklini anlayın.
- Android için ARCore SDK'sını yükleyip yapılandırın.
Koşullar
Nalbur
- AR için Google Play Hizmetleri'nin en son sürümünün yüklü olduğu ARCore destekli bir cihaz
- Cihazı geliştirme makinenize bağlamak için bir USB kablosu
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ı
Android Studio'da Aç'ı tıklayın.
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 Aç'ı tıklayın.
Cloud Anchor
Android Studio'da Aç'ı tıklayın.
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 Aç'ı 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.
- Uygulamanıza Firebase'i manuel olarak ekleyin.
cloud_anchor_java
paket adıcom.google.ar.core.examples.java.cloudanchor
şeklindedir. Bunumain/AndroidManifest.xml
adresinde bulabilirsiniz. - Firebase'i uygulamanıza eklediğinizde oluşturduğunuz
google-services.json
dosyasını indirin. - Firebase ile Realtime Database oluşturun.
- Android Studio'da
google-services.json
dosyasını projenizinapp
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
- Cihazınızın geliştirici seçenekleri ve USB üzerinden hata ayıklama'yı etkinleştirdiğinden emin olun.
- Cihazınızı USB ile geliştirme makinenize bağlayın.
- 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
- Uygulama uçakları algılamaya başladığında, algılanan düzlemlerden birine demir yerleştirmek için ekranınıza dokunun.
- 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
- ÇÖ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
- Cihazınızın geliştirici seçenekleri ve USB üzerinden hata ayıklama'yı etkinleştirdiğinden emin olun.
- Cihazınızı USB ile geliştirme makinenize bağlayın.
- 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
- Uygulama uçakları algılamaya başladığında, algılanan düzlemlerden birine demir yerleştirmek için ekranınıza dokunun.
- 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
- ÇÖ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
- Kalıcı Cloud Anchors'a sahip ARCore Cloud Anchors codelab'ine sahip ARCore Cloud Anchor'larıyla Cloud Anchor uygulaması oluşturun.
- Cloud Anchor geliştirici kılavuzundan yararlanarak uygulamanıza Cloud Anchor'ları nasıl dahil edeceğinizi öğrenin.
- Cloud Anchors Management API'yi kullanarak Cloud Anchor'ları ARCore uygulamanızın dışında yönetin.