React Native'de Konum İzni İstemek
React Native'de kullanıcıdan konum izni istemek için aşağıdaki adımları takip edebilirsiniz.
1. Gerekli Kütüphaneleri Yükleyin
Konum servisi için `react-native-geolocation-service` kütüphanesini kullanabilirsiniz. Bu kütüphaneyi yüklemek için terminalde aşağıdaki komutu çalıştırın:
```
npm install react-native-geolocation-service
```
2. İzinleri Tanımlayın
iOS için, `Info.plist` dosyasına aşağıdaki anahtarları ekleyin:
- NSLocationWhenInUseUsageDescription: Kullanıcının konumunu kullanma nedeninizi açıklayın.
- NSLocationAlwaysUsageDescription: Kullanıcının konumunu sürekli kullanma nedeninizi açıklayın.
Android için, `AndroidManifest.xml` dosyasına aşağıdaki izinleri ekleyin:
- ACCESS_FINE_LOCATION
- ACCESS_COARSE_LOCATION
3. İzin İste
Konum izni istemek için aşağıdaki kodu kullanabilirsiniz:
```javascript
import Geolocation from 'react-native-geolocation-service';
import {PermissionsAndroid, Platform} from 'react-native';
const requestLocationPermission = async () => {
if (Platform.OS === 'android') {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
{
title: 'Konum İzni',
message: 'Uygulamanın konumunu kullanabilmesi için izin vermelisiniz.',
buttonNeutral: ' İptal',
buttonNegative: 'Kaydet',
buttonPositive: 'Tamam',
},
);
return granted === PermissionsAndroid.RESULTS.GRANTED;
} else {
return true; // iOS'da izin otomatik olarak alınır.
}
};
```
4. Konum Alımı
İzin alındıktan sonra, konumu almak için şu kodu kullanabilirsiniz:
```javascript
Geolocation.getCurrentPosition(
(position) => {
console.log(position);
},
(error) => {
console.log(error.code, error.message);
},
{enableHighAccuracy: true, timeout: 15000, maximumAge: 10000},
);
```
Bu adımları takip ederek React Native uygulamanızda kullanıcıdan konum izni isteyebilirsiniz.