Flutter ile geliştirme yaparken kullanıcıdan konum verisi almaya ihtiyaç duyduğunuzda lokasyon izni almanız gerekmektedir. Bunun için yapmanız gereken birkaç basit tanımlama var.
Android Tarafı – Flutter Lokasyon
Android tarafında izin işlemlerini genel olarak AndroidManifest.xml dosyası üzerinde gerçekleştirmekteyiz. Flutter android location permission yani, Flutter android lokasyon izni için ilk olarak bu dosyayı açmamız gerekmekte. Dosyanın yolunu bilmeyenler için hemen aşağıya bırakıyorum.
Projenizin ana dizini > android > app > src > main > AndroidManifest.csml
Bu yolu siz de takip ederek dosyanıza ulaşabilirsiniz. Ardından yapmanız gereken aşağıda vermiş olduğum kodu dosyanın içerisinde uygun bir yere yapıştırmak. Ekran görüntüsü ile size bu uygun yeri de gösteriyor olacağım. Ama önce eklemeniz gereken kodları vereyim;
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Bu kodlar sırası ile arkaplanda konum izleme, tam konumu bulma ve yakın konumu bulma. Tam konum bulma direkt 3-5 metrelik sapma ile konumu size sağlar. Yakın konum ise biraz daha sapmalar olabilir ancak daha az veri tüketeceği için tercihen yakın konum kullanılır. Tabii tam konuma gerçekten ihtiyaç duyulmadığı alanlarda.
Kodu yapıştırmanız gereken yer <manifest tag’i ile <application tag’i arasındadır.
iOS Tarafı – Info.plist Location Permission – Flutter Location Permission
Elbette android tarafını yapıp iOS tarafını yapmamak olmaz. Bu sebeple hemen aşağıda belirttiğim yol ile info.plist dosyanızı bulup vereceğim kodları uygun bir yere yapıştırmanız gerekecek.
Projenizin ana dizini > ios > Runner > Info.plist
Bu yoldaki dosyayı açtığınızda ilgili dosyamıza ulaşmış olacaksınız. iOS location permission dediğimiz iOS lokasyon izini için buraya şu kodları yapıştırmanız gerekiyor.
<key>NSLocationWhenInUseUsageDescription</key>
<string>Bu uygulama konumunuzu kullanmak istiyor.</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Bu uygulama konumunuzu kullanmak istiyor.</string>
Buradaki kodlar sırasıyla uygulama kullanılırken ve her zaman olarak iki ayrı izini tanımlamaktadır. Altlarındaki stringler ise kullanıcıdan izin isterken kullanım amacını bildirdiğiniz yazılardır. Bu kodları kopyalayıp aşağıdaki ekran görüntüsünde belirttiğim gibi dosyanın en altında ilgili tag’lerden önce yapıştırın.
Sonuç
Evet sonuç olarak iki platform için izinlerimizi nasıl alacağımızı, hangi kodları kullanmamız gerektiğini ve hangi kodun ne işe yaradığını öğrenmiş olduk. Aşağıda sizin için faydalı olabileceğini düşündüğüm bir yazı daha bırakıyorum. Onu da kontrol edebilirsiniz.
Bu yazı gerçekten çok yararlı oldu. Lokasyon izni almak için adım adım rehber sunmanız çok işime yaradı.