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

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 bir ARCore oturumunun nasıl yapılandırılacağını 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 çapaların barındırılması, depolanması ve çözülmesinden 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.

  1. Düzenle > Proje Ayarları > XR Eklenti Yönetimi > ARCore Uzantıları'na gidin. iOS Desteği Etkin'in seçili olduğundan emin olun.
  2. İsteğe Bağlı Özellikler'in altında, Coğrafi konum'u 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:

  1. Proje Assets klasörünün, ARCoreExtensionsConfig komut dosyası oluşturabileceği bir nesne içerdiğinden 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.
  2. Öğeler klasörünüzde ARCoreExtensionsConfig komut dosyası yazılabilir nesnesi seçin ve Coğrafi Mod'u Etkin olarak ayarlayın.

  3. ARCore Extensions oyun nesnesini, ARCoreExtensionsConfig yapılandırmasını kullanacak şekilde yapılandırın. Hierarchy (Hiyerarşi) bölmesinde, ARCore Uzantılarını ilk kez ayarlarken oluşturduğunuz ARCore Extensions oyun nesnesini bulun. ARCore Extensions Yapılandırması alanını, Assets klasörünüzdeki ARCoreExtensionsConfig komut dosyası nesnesine bağlayın.

Kullanıcıdan, cihaz verilerinin kullanılmasına izin vermesini iste

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:

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

  2. 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 belgelerini inceleyin.

Cihazın mevcut konumunda Coğrafi Veri Kullanımı'nın kullanılabilirliğini kontrol etme

Geospatial API, coğrafi konumu belirlemek için VPS ve GPS'i birlikte kullandığından, cihaz konumu 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ında olup olmadığını belirlemek için AREarthManager.CheckVpsAvailability() aracını kullanın.

Coğrafi API, VPS kapsamı olmayan alanlarda da kullanılabilir. Başınızın üzerinde çok az engel bulunan veya hiç engel bulunmayan dış mekan ortamlarında, yüksek doğrulukta bir poz oluşturmak için GPS yeterli olabilir.

Sırada ne var?