CodeBlanks Logo Icon CodeBlanks

Konum izni

Konum izni istemeyi öğrenirsin.

Konum izni

Konum izni, uygulamanın GPS verisi alabilmesi için gereken onaydır. Permissions.askAsync(Permissions.LOCATION) ile istenir. status === 'granted' ise konum alınabilir; değilse harita veya yakın yerler özelliği çalışmaz.

Konum izninin iki türü vardır: foreground (uygulama açıkken) ve background (kapalıyken). Expo'da Permissions.LOCATION foreground içindir; background için ek ayar gerekir. Background konum daha hassastır; kullanıcılar buna daha temkinli yaklaşır. Bu yüzden yalnızca gerçekten gerekliyse istenmelidir. Konum, kişisel bir veridir; iyi bir açıklama ile istemek kullanıcı güvenini korur.

Foreground vs background

Foreground konum, uygulama ekranda açıkken GPS verisi alır. Permissions.LOCATION bunu verir. Harita gösterme, yakın yerleri listeleme gibi işlerde yeterlidir.

Background konum, uygulama kapalıyken bile konum alır. Bu, navigation veya fitness takibi gibi sürekli izleme gerektiren uygulamalar için gerekir. Daha hassastır; App Store ve Play Store incelemelerinde sıkı denetlenir. Background konum için iOS'ta UIBackgroundModes, Android'de ise ACCESS_BACKGROUND_LOCATION izni gerekir. Expo bu ayrıntıları app.json'da yapılandırır. Gereksiz yere background konum istemek kullanıcıyı kaçıracak kadar rahatsız edici olabilir.

Uygulama requestLocationPermission yaz

Bir requestLocationPermission fonksiyonu yaz. async olsun. await ile Permissions.askAsync(Permissions.LOCATION) çağır; status döndür.

Başlangıç kodu

App.js
// requestLocationPermission fonksiyonunu yaz
// Permissions.askAsync ile LOCATION iznini iste; status döndür

Örnek çözüm

App.js
async function requestLocationPermission() {
  const { status } = await Permissions.askAsync(Permissions.LOCATION);
  return status;
}

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Türü rolüne eşle

Kavram Anlamı
Permissions.LOCATION Foreground konum
background Kapalıyken konum
GPS Konum kaynağı
'granted' İzin verildi

2 LOCATION izni

Soru
await Permissions.askAsync(Permissions.____);
Cevap
await Permissions.askAsync(Permissions.LOCATION);

Açıklama: Permissions.LOCATION konum iznidir.

3 Konum izni neden istenir?

App.js
Permissions.askAsync(Permissions.LOCATION);
  • GPS verisi almak için Doğru cevap
  • Butona basmak için
  • Bildirim göndermek için
  • Dosya saklamak için

Açıklama: Konum izni GPS verisi almak için istenir.

Orta seviye bölümündeki tüm dersler