CodeBlanks Logo Icon CodeBlanks

İzin nedir?

Mobil uygulama izinleri kavramını öğrenirsin.

İzin nedir?

İzin, işletim sisteminin bir kaynağa erişim için gösterdiği onay kapısıdır. Kamera, konum, bildirim gibi hassas veriler uygulamanın tek başına kullanamaz; kullanıcı açıkça onaylamalıdır. İlk istek bir sistem diyaloğuyla görünür.

İzin; güvenlik ve gizlilik için zorunludur. Kullanıcı, bir uygulamanın neye eriştiğini bilmeden rahatsız edilmek istemez. İzin verildikten sonra uygulama o kaynağı kullanır; reddedilirse kullanamaz. iOS ve Android'in izin akışları biraz farklıdır; React Native ve Expo bu farkları expo-permissions ile ortak bir API altında toplar. Böylece tek kod iki platformda çalışır.

Sistem diyaloğu

İlk kez bir izin istendiğinde işletim sistemi bir sistem diyaloğu gösterir. Bu diyalog uygulamanın değil sistemin kontrolündedir; tasarımı değiştirilemez. Kullanıcı 'İzin ver' veya 'Reddet' seçer; bu seçim kalıcı olur. Aynı izni tekrar istemek diyaloğu göstermez; son seçim hatırlanır.

Kullanıcı reddettikten sonra tekrar sormak için ayarlara yönlendirme gerekir. Bu yüzden iyi bir akış, izni gerçekten gerekmeden önce değil, tam kullanım anında istemektir. 'Kamerayı aç' butonuna basınca istemek, açılışta istemekten daha az rahatsız edicidir. Bu, kullanıcı güvenini korur. İzin reddedilirse alternatif bir mesaj göstermek de iyidir.

Uygulama checkPermission yaz

Bir checkPermission fonksiyonu yaz. status parametresi alsın. status === 'granted' ise true döndürsün; değilse false.

Başlangıç kodu

App.js
// checkPermission fonksiyonunu yaz
// status parametresi al; 'granted' ise true, değilse false döndür

Örnek çözüm

App.js
function checkPermission(status) {
  if (status === "granted") {
    return true;
  }
  return false;
}

Soru ve cevaplar

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

1 Hangisi bir izin ister?

App.js
Permissions.askAsync(Permissions.CAMERA);
  • Text gösterimi
  • Kamera kullanımı Doğru cevap
  • Style değiştirme
  • Butona basma

Açıklama: Kamera kullanımı için izin gerekir.

2 İzin olmadan kamera

Soru
// İzin olmadan ____ açılamaz
Cevap
// İzin olmadan kamera açılamaz

Açıklama: Kamera izinsiz açılamaz.

3 Kavramı rolüne eşle

Kavram Anlamı
izin Onay kapısı
sistem diyaloğu İlk istek
kamera Hassas kaynak
reddet Erişim yok

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