0Pricing
Android Academy · Ders

Retleri ve Gerekçeyi Ele Alma

Bir izne neden ihtiyaç duyduğunuzu açıklayın.

Retleri ve Gerekçeyi Ele Alma, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Android Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Android Academy kursu toplamda 4 dersten oluşur.

Retleri Ele Alma

Kullanıcılar bir izni reddedebilir ve bu izni kalıcı olarak da reddedebilir. Özenli bir uygulama tüm durumları zarifçe ele alır: izin verildi, bir kez reddedildi ve "bir daha sorma" seçilerek reddedildi.

Üç Olası Durum

Bir istekten sonra üç durumdan birinde olabilirsiniz:

  • İzin verildi: özellikle devam edin
  • Reddedildi (yeniden sorulabilir): açıklayın ve yeniden isteyin
  • Kalıcı olarak reddedildi: iletişim kutusu artık görünmez; kullanıcıyı Ayarlar'a yönlendirin

Gerekçe Nedir

Gerekçe, uygulamanızın bir izne neden ihtiyaç duyduğunu açıklayan kısa bir metindir. Android, shouldShowRequestPermissionRationale aracılığıyla bunu ne zaman göstermeniz gerektiğini bildirir.

shouldShowRequestPermissionRationale

Bu yöntem, kullanıcı izni en az bir kez reddetmiş ancak "bir daha sorma" seçeneğini işaretlememişse true döndürür. Bu, yeniden istemeden önce açıklama yapmanız gerektiğini gösterir.

val activity = LocalContext.current as Activity
val showRationale = ActivityCompat
    .shouldShowRequestPermissionRationale(
        activity,
        Manifest.permission.CAMERA
    )

Sinyali Okuma

Değeri izin kontrolüyle birlikte yorumlayın:

  • İzin verildi: yapılacak bir şey yok
  • İzin verilmedi ve shouldShowRationale == true: bir açıklama gösterin, ardından yeniden isteyin
  • İzin verilmedi ve shouldShowRationale == false: ya ilk kez isteyin ya da izin kalıcı olarak reddedilmiştir

Gerekçe İletişim Kutusu Gösterme

Gerekçe gerektiğinde, sistem isteğini yeniden başlatmadan önce samimi bir iletişim kutusu gösterin; böylece kullanıcı iznin değerini anlar.

if (showRationale) {
    AlertDialog(
        onDismissRequest = { },
        title = { Text("Camera needed") },
        text = { Text("We use the camera to scan codes.") },
        confirmButton = {
            TextButton(onClick = {
                launcher.launch(Manifest.permission.CAMERA)
            }) { Text("Continue") }
        }
    )
}

Kalıcı Reddi Algılama

Kullanıcıdan daha önce istenmiş olmasına rağmen izin hâlâ verilmemişse ve shouldShowRationale değeri false ise bunu kalıcı olarak reddedildi şeklinde değerlendirin. Sistem iletişim kutusu artık görünmez.

İstek Yapıp Yapmadığınızı İzleme

shouldShowRationale, ilk istekte de false olduğundan, en az bir kez istek yaptığınızı kaydeden bir bayrağı (örneğin DataStore'da) izleyin. Böylece ilk istek ile kalıcı redde ayrım yapabilirsiniz.

Kullanıcıları Ayarlar'a Gönderme

Kalıcı ret durumunda yeniden istekte bulunamazsınız. Kullanıcının izni kendisinin verebilmesi için uygulamanızın Ayarlar sayfasını açan bir düğme sunun.

fun openAppSettings(context: Context) {
    val intent = Intent(
        Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
        Uri.fromParts("package", context.packageName, null)
    )
    context.startActivity(intent)
}

Reddedilen Durumun Kullanıcı Arayüzünü Tasarlama

Ret durumunda hiçbir zaman boş veya bozuk bir ekran bırakmayın. Açık bir mesaj gösterin, etkisini açıklayın ve uygun eylemi sunun: yeniden istemek, Ayarlar'ı açmak veya sınırlı işlevlerle devam etmek.

Kullanıcının Seçimine Saygı Gösterin

Kullanıcıyı rahatsız etmeyin. Kullanıcı izni reddettiyse her ekranda tekrar tekrar istemeyin. Yalnızca özelliği gerektiren bir eylem gerçekleştirdiğinde yeniden sorun; diğer durumlarda işlevleri zarifçe sınırlayın.

Hızlı Kontrol

Retleri ve gerekçeleri anlayıp anlamadığınızı test edin.

Özet

Retleri ele almayı öğrendiniz:

  • Üç durum vardır: izin verildi, reddedildi, kalıcı olarak reddedildi
  • shouldShowRequestPermissionRationale, ne zaman açıklama yapılması gerektiğini bildirir
  • Kalıcı reddi algılamak için daha önce istek yapıp yapmadığınızı izleyin
  • Kalıcı ret durumunda kullanıcıyı uygulamanın Ayarlar'ına yönlendirin
  • Reddedilen durum için anlaşılır bir kullanıcı arayüzü tasarlayın ve kullanıcıyı rahatsız etmekten kaçının

Sırada: gizlilik için en iyi uygulamalar.

Sıkça Sorulan Sorular

“Retleri ve Gerekçeyi Ele Alma” dersi ücretsiz mi?

Evet — “Retleri ve Gerekçeyi Ele Alma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Android Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Android Academy kursu toplamda 4 dersten oluşur.

“Retleri ve Gerekçeyi Ele Alma” dersinde ne öğreneceğim?

Bir izne neden ihtiyaç duyduğunuzu açıklayın. Android Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Android Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Android Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Retleri ve Gerekçeyi Ele Alma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Android Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Android Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Android İzin Modeli
  2. Compose'da İzin İsteme
  3. Retleri ve Gerekçeyi Ele Alma
  4. Gizlilik için En İyi Uygulamalar
← Android Academy Sayfasına Dön