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
- Sabitlerin ve Cloud Anchor'ların işleyiş şeklini öğrenin.
- Android için ARCore SDK'sını yükleyin ve yapılandırın.
Şartlar
Donanım
- AR için Google Play Hizmetleri'nin en son sürümünün yüklü olduğu, ARCore destekli cihaz
- Cihazı geliştirme makinenize bağlamak için bir USB kablosu
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ı
Android Studio'da Aç'ı tıklayın.
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 Aç'ı tıklayın.
Cloud Anchor'ları
Android Studio'da Aç'ı tıklayın.
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 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. 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.
- 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. - Firebase'i uygulamanıza eklerken oluşturduğunuz
google-services.json
dosyasını indirin. - Firebase ile Gerçek Zamanlı Veritabanı oluşturun.
- Android Studio'da
google-services.json
dosyasını projenizinapp
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
- Cihazınızda geliştirici seçeneklerini ve USB üzerinden hata ayıklamayı etkinleştirdiğinizden 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ı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
- Uygulama uçakları algılamaya başladığında, algılanan düzlemlerden birine bir sabitleyici yerleştirmek için ekranınıza dokunun.
- 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
- 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
- Cihazınızda geliştirici seçeneklerini ve USB üzerinden hata ayıklamayı etkinleştirdiğinizden 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ı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
- Uygulama uçakları algılamaya başladığında, algılanan düzlemlerden birine bir sabitleyici yerleştirmek için ekranınıza dokunun.
- 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
- 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?
- Kalıcı Cloud Anchors codelab'ine sahip ARCore Cloud Anchors ile Cloud Anchors uygulaması oluşturun.
- Cloud Anchors geliştirici kılavuzuyla, 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.