Uygulamanızın ayarlarını, Coğrafi API'yi kullanabileceği şekilde yapılandırın.
Ön koşullar
Devam etmeden önce temel AR kavramlarını ve ARCore oturumunu nasıl yapılandıracağınızı anladığınızdan emin olun.
Geospatial API hakkında daha fazla bilgi için Geospatial API'ye Giriş başlıklı makaleyi inceleyin.
ARCore ile geliştirmeye yeni başladıysanız yazılım ve donanım gereksinimleri, ön koşullar ve kullandığınız platformlara özgü diğer bilgiler için Başlangıç bölümüne bakın.
ARCore Geospatial API'yi kullanmak için projenizin AR Foundation ve AR Foundation için ARCore Uzantılar'ı desteklemesi gerekir.
ARCore API'yi etkinleştirme
Uygulamanızda Görsel Konumlandırma Sistemi'ni (VPS) kullanmadan önce yeni veya mevcut bir Google Cloud projesinde ARCore API'yi etkinleştirmeniz gerekir. Bu hizmet, coğrafi yer işaretlerini barındırmaktan, depolamaktan ve çözmekten sorumludur.
Anahtarsız yetkilendirme tercih edilir ancak API anahtarı yetkilendirmesi de desteklenir.
Uygulamanıza gerekli kitaplıkları ekleme
Uygulamanızı ARCore API'yi çağıracak şekilde yetkilendirdikten sonra, uygulamanızda Coğrafi Özellikler'i etkinleştirmek için kitaplıklar eklemeniz gerekir.
- Düzenle > Proje Ayarları > XR Eklenti Yönetimi > ARCore Uzantılar'a gidin. iOS Desteği Etkin'in seçili olduğundan emin olun.
- İsteğe bağlı özellikler bölümünde Coğrafi'yi seçin.
Oturum yapılandırmasında coğrafi özellikleri etkinleştirme
Uygulamanızda Coğrafi İşlevsellik etkinleştirildikten sonra, ARCore API ile iletişim kurabilmesi için uygulamanızın AR oturumu yapılandırmasında Coğrafi İşlevsellik özelliklerini etkinleştirin:
- Projenin Öğeler klasöründe bir ARCoreExtensionsConfig komut dosyası yazılabilir nesnesi bulunduğundan emin olun. Oluşturmak için Öğeler bölmesini sağ tıklayın ve Oluştur > XR > ARCore Uzantı Yapılandırması'nı seçin.
Öğeler klasörünüzde ARCoreExtensionsConfig komut dosyası yazılabilir nesnesini seçin ve Coğrafi Mod'u Etkin olarak ayarlayın.
ARCore Extensions oyun nesnesini, ARCoreExtensionsConfig yapılandırmasını kullanacak şekilde yapılandırın. Hiyerarşi bölmesinde, ARCore Extensions'i ilk kez kurarken oluşturduğunuz ARCore Extensions oyun nesnesini bulun ve ARCore Extensions Config alanını Assets klasörünüzdeki ARCoreExtensionsConfig komut dosyası yazılabilir nesnesine bağlayın.
Kullanıcıdan cihaz verilerinin kullanılmasına izin vermesini isteme
ARCore Geospatial API'yi kullanan uygulamalar, kullanıcıya cihazındaki verilerin kullanımını kabul etmesini ve buna izin vermesini isteyen bir istem göstermelidir. Daha fazla bilgi için Kullanıcı gizliliği şartları başlıklı makaleyi inceleyin.
Cihaz uyumluluğunu kontrol etme
ARCore'u destekleyen tüm cihazlar Geospatial API'yi de desteklemez. Kullanıcının cihazının uyumluluğunu kontrol etmek için AREarthManager.IsGeospatialModeSupported()
numaralı telefonu arayın.
Bu işlem FeatureSupported.Unsupported
döndürüyorsa oturumu yapılandırmayı denemeyin.
Çalışma zamanında kullanıcıdan konum izinleri isteme
Çalışma zamanı izin isteklerini tetikleyen bir komut dosyasında Unity'nin konum hizmetlerini etkinleştirmek için aşağıdakileri yapın:
Project Settings > iOS > Other Settings > Location Usage Description alanına, izin isteyen uygulamanın adını girin.
Aşağıdaki gibi çalışma zamanında izin isteğini tetiklemek için Unity'nin konum hizmetlerini etkinleştirin:
public void OnEnable() { Input.location.Start(); } public void OnDisable() { Input.location.Stop(); }
Daha fazla bilgi için Unity'nin
LocationService
belgelerine bakın.
Cihazın mevcut konumunda Coğrafi Veri Kullanımı'nın kullanılabilirliğini kontrol etme
Geospatial API, coğrafi konumlu bir pozu belirlemek için VPS ve GPS'ten alınan verileri birlikte kullandığından, cihaz konumunu belirleyebildiği sürece API kullanılabilir. Kapalı alanlar ve yoğun kentsel ortamlar gibi GPS doğruluğunun düşük olduğu yerlerde API, yüksek doğrulukta pozlar oluşturmak için VPS kapsamını kullanır. Normal koşullarda VPS'nin yaklaşık 5 metrelik konumsal doğruluk ve 5 derecelik dönme doğruluğu sağlaması beklenebilir. Belirli bir konumun VPS kapsamına girip girmediğini belirlemek için AREarthManager.CheckVpsAvailability()
değerini kullanın.
Coğrafi API, VPS kapsamı olmayan alanlarda da kullanılabilir. Başınızın üzerinde çok az engel veya engel olmaması durumunda, yüksek doğrulukta bir poz oluşturmak için GPS yeterli olabilir.
Sırada ne var?
- Kullanıcının cihazının gerçek dünyadaki tam konumunu belirlemek için cihaz kamerasının Coğrafi konumlandırma pozunu alın.
- Bir cihazın belirli konumunda VPS'nin kullanılabilir olup olmadığını kontrol edin.