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.
Burada açıklanan işlevselliği gösteren örnek bir uygulama çalıştırmak isterseniz iOS için ARCore Geospatial hızlı başlangıç kılavuzu'na bakın.
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 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.
UygulamanızınPodfile
sürümünü, ARCore SDK'sını ve desteklenen iOS sürümünü içerecek şekilde güncelleyin. Bunun için:
Projenizin
Podfile
öğesine aşağıdakiplatform
vepod
değerlerini ekleyin:platform :ios, '11.0' pod 'ARCore/Geospatial', '~> 1.41.0'
iOS 10'u desteklemek istiyorsanız
platform :ios, '10.0'
seçeneğini de belirtebilirsiniz ancak Geospatial API'nin yalnızca iOS >= 11 işletim sisteminde çalışacağını unutmayın.Bir Terminal penceresi açın ve Xcode projenizin bulunduğu klasörden
pod install
komutunu çalıştırın.Bu işlem, uygulamayı derlemek ve çalıştırmak için kullanacağınız bir
.xcworkspace
dosyası oluşturur.
Geliştirme ortamınızın Hızlı Başlangıç'da açıklandığı gibi ARCore SDK gereksinimlerini karşıladığından emin olun.
Oturum yapılandırmasında Coğrafi özellikleri etkinleştir
Cihaz uyumluluğunu kontrol etme
quickstart açıklandığı gibi, ARCore'u destekleyen tüm cihazlar, Geospatial API'yi de desteklemez.
Cihazı kontrol etmek için aşağıdaki gibi GARSession.isGeospatialModeSupported:
aracını kullanın:
if (![self.garSession isGeospatialModeSupported:GARGeospatialModeEnabled]) {
[self setErrorStatus:@"GARGeospatialModeEnabled is not supported on this device."];
return;
}
GARSessionConfiguration *configuration = [[GARSessionConfiguration alloc] init];
configuration.geospatialMode = GARGeospatialModeEnabled;
[self.garSession setConfiguration:configuration error:&error];
if (error) {
[self setErrorStatus:[NSString stringWithFormat:@"Failed to configure GARSession: %d",
(int)error.code]];
return;
}
Çalışma zamanında kullanıcıdan konum izni iste
Uygulamanız, oturumu yapılandırmadan önce çalışma zamanında aşağıdaki konum izinlerini istemelidir:
kCLAuthorizationStatusAuthorizedWhenInUse
CLAccuracyAuthorizationFullAccuracy
(iOS >= 14 olduğunda geçerlidir)
Cihazın mevcut konumundaki Coğrafi kullanılabilirliği kontrol edin
Geospatial API, Coğrafi dönüşümü belirlemek için VPS ve GPS'in bir kombinasyonunu kullandığından, cihaz konumunu belirleyebildiği sürece API kullanılabilir. API, kapalı alanlar ve yoğun kentsel ortamlar gibi GPS doğruluğunun düşük olduğu alanlarda yüksek doğruluklu dönüşümler 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 GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
ö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 dönüşüm oluşturmak için yeterli olabilir.
Sırada ne var?
- Kullanıcı cihazının gerçek dünyadaki kesin konumunu belirlemek için cihaz kamerasının coğrafi dönüşümünü elde edin.
- Cihazın bulunduğu yerdeki VPS kullanılabilirliğini kontrol edin.