Konum izni
- React Native kursu
- Orta seviye
- Ders 109/116
- 5 dk
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
// requestLocationPermission fonksiyonunu yaz
// Permissions.askAsync ile LOCATION iznini iste; status döndürÖrnek çözüm
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
await Permissions.askAsync(Permissions.____);
await Permissions.askAsync(Permissions.LOCATION);
Açıklama: Permissions.LOCATION konum iznidir.
3 Konum izni neden istenir?
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.