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
- Sabitleyicilerin ve Cloud Anchors'ın işleyiş şeklini anlayın.
- 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 yeni sürümü yüklü olan bir ARCore destekli cihaz
- Cihazı geliştirme makinenize bağlamak için bir USB kablosu
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ı
Android Studio'da Open'ı (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 > persistent_cloud_anchor_java'ya gidip Open'ı (Aç) tıklayın.
Cloud Anchors
Android Studio'da Open'ı (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'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.
- Firebase'i uygulamanıza manuel olarak ekleyin.
cloud_anchor_javapaket adıcom.google.ar.core.examples.java.cloudanchor'dır. Bu bilgiyimain/AndroidManifest.xmlbölümünde bulabilirsiniz. - Firebase'i uygulamanıza eklediğinizde oluşturduğunuz
google-services.jsondosyasını indirin. - Firebase ile Realtime Database oluşturun.
- Android Studio'da
google-services.jsondosyasını projenizinappdizinine 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
- Cihazınızda geliştirici seçenekleri ve USB üzerinden hata ayıklama'nın etkinleştirildiğinden emin olun.
- Cihazınızı USB üzerinden geliştirme makinenize bağlayın.
- 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
- Uygulama düzlemleri algılamaya başladığında, algılanan düzlemlerden birine tutturucu yerleştirmek için ekranınıza dokunun.
- 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
- ÇÖ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
- Cihazınızda geliştirici seçenekleri ve USB üzerinden hata ayıklama'nın etkinleştirildiğinden emin olun.
- Cihazınızı USB üzerinden geliştirme makinenize bağlayın.
- 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
- Uygulama düzlemleri algılamaya başladığında, algılanan düzlemlerden birine tutturucu yerleştirmek için ekranınıza dokunun.
- 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
- ÇÖ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?
- Kalıcı Cloud Anchor'lara Sahip ARCore Cloud Anchor'ları codelab'i ile Cloud Anchor uygulaması oluşturun.
- Cloud Anchors geliştirici kılavuzunu kullanarak Cloud Anchors'ı uygulamanıza nasıl dahil edeceğinizi öğrenin.
- Cloud Anchors Management API'yi kullanarak Cloud Anchor'ları ARCore uygulamanızın dışında yönetin.