iOS'i hedefleyen Unity (AR Foundation) uygulamanız için Geospatial API'yi etkinleştirin

Uygulamanızın ayarlarını, Geospatial API'yi kullanabilecek ş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ş bölümüne bakın.

ARCore ile geliştirme konusunda yeniyseniz yazılım ve donanım gereksinimleri, ön koşullar ve kullandığınız platformlara özgü diğer bilgiler hakkında bilgi için Başlarken bölümüne bakın.

ARCore Geospatial API'yi kullanmak için projenizin AR Foundation'ı ve ARCore Extensions for AR Foundation'ı desteklemesi gerekir.

ARCore API'yi etkinleştir

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 çapaların barındırılması, depolanması ve çözümlenmesinden sorumludur.

Anahtarsız yetkilendirme tercih edilir ancak API anahtarı yetkilendirmesi de desteklenir.

Gerekli kitaplıkları uygulamanıza ekleme

Uygulamanızı ARCore API'yi çağırmak üzere yetkilendirdikten sonra, uygulamanızda Coğrafi özellikleri etkinleştirmek için kitaplıklar eklemeniz gerekir.

  1. Düzenle > Proje Ayarları > XR Eklenti Yönetimi > ARCore Uzantıları'na gidin. iOS Support Enabled (iOS Desteği Etkin) seçeneğinin belirlendiğinden emin olun.
  2. İsteğe Bağlı Özellikler bölümünde, Coğrafi konum'u seçin.

Oturum yapılandırmasında Coğrafi özellikleri etkinleştir

Uygulamanızda Coğrafi işlevler etkinleştirildikten sonra, ARCore API'si ile iletişim kurabilmesi için uygulamanızın AR oturum yapılandırmasında Coğrafi özellikleri etkinleştirin:

  1. Proje Assets klasörünün ARCoreExtensionsConfig komut dosyası oluşturma amaçlı bir nesne içerdiğinden emin olun. Oluşturmak için Öğeler bölmesini sağ tıklayın ve Oluştur > XR > ARCore Extensions Yapılandırması'nı seçin.
  2. Assets klasörünüzde ARCoreExtensionsConfig komut dosyası oluşturma nesnesini seçin ve Geospatial Mode'u (Coğrafi Mekansal Mod) Enabled (Etkin) olarak ayarlayın.

  3. ARCoreExtensionsConfig yapılandırmasını kullanmak için ARCore Extensions oyun nesnesini yapılandırın. Hiyerarşi bölmesinde, ARCore Extensions'ı ayarlarken oluşturduğunuz ARCore Extensions oyun nesnesini bulun ve Assets klasörünüzdeki ARCoreExtensionsConfig komut dosyası oluşturma nesnesine ARCore Extensions Config alanını bağlayın.

Kullanıcıdan cihaz verilerinin kullanımına izin vermesini iste

ARCore Geospatial API'yi kullanan uygulamalar, kullanıcıya, cihazındaki verilerin kullanımına onay ve izin verme istemi sunmalıdır. Daha fazla bilgi için Kullanıcı gizlilik şartları bölümüne bakın.

Cihaz uyumluluğunu kontrol etme

ARCore'u destekleyen bazı 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 sonucunu döndürürse oturumu yapılandırmaya çalışmayın.

Çalışma zamanında kullanıcıdan konum izni iste

Unity konum hizmetlerini, çalışma zamanı izni isteklerini tetikleyen bir komut dosyasında etkinleştirmek için aşağıdakileri yapın:

  1. Project Settings > iOS > Other Settings > Location Usage Description alanına izin isteyen uygulamanın adını girin.

  2. Unity konum hizmetlerinin çalışma zamanı izni isteğini tetiklemesi için aşağıdaki adımları uygulayın:

    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 konumundaki Coğrafi kullanılabilirliği kontrol edin

Geospatial API, Coğrafi konumu belirlemek için VPS ve GPS kombinasyonunu kullandığından, cihaz konumunu belirleyebildiği sürece API kullanılabilir. API, iç mekan alanları ve yoğun kentsel ortamlar gibi GPS doğruluğunun düşük olduğu alanlarda yüksek doğruluklu pozlar oluşturmak için VPS'nin kapsamını kullanır. VPS'nin normal koşullarda yaklaşık 5 metre konum doğruluğu ve 5 derece dönme doğruluğu sağlaması beklenebilir. Belirli bir konumun VPS kapsamında olup olmadığını belirlemek için AREarthManager.CheckVpsAvailability() özelliğini kullanın.

Geospatial API, VPS kapsamında olmayan bölgelerde de kullanılabilir. Yukarıdan engellerin çok az olduğu veya hiç olmadığı açık ortamlarda GPS, yüksek doğrulukta poz oluşturmak için yeterli olabilir.

Sırada ne var?