Bildirimler için Çalışma Zamanı İzni
Android 13 ve sonraki sürümlerde bildirim izni isteyin.
Bildirimler için Çalışma Zamanı İzni, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 4 dersinin 4. 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.
Bildirim İzni
Android 13'ten (API 33) itibaren uygulamalar bildirim göndermek için bir çalışma zamanı izni istemelidir: POST_NOTIFICATIONS. Bu izin olmadan bildirimleriniz sessizce engellenir.
Neden Eklendi
Android 13'ten önce bildirimler varsayılan olarak açıktı ve kullanıcıların gürültü yapan uygulamaları susturmak için Ayarlar'ı ayrıntılı biçimde incelemesi gerekiyordu. Çalışma zamanı izni bunu değiştirir: kullanıcılar artık açıkça izin verir ve böylece istenmeyen bildirimler azalır.
Manifest'te Bildirme
Önce izni AndroidManifest.xml içinde bildirin. İstem yalnızca API 33 ve üzerindeki sürümlerde görünse de bu, desteklenen her sürüm için gereklidir.
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />Tehlikeli Bir İzin
POST_NOTIFICATIONS, çalışma zamanı (tehlikeli) izni olarak sınıflandırılır. Bu nedenle Android 13 ve üzeri sürümlerde kullanıcıdan istemeniz ve kamerada veya konumda olduğu gibi yanıtını işlemeniz gerekir.
Sürüme Göre Davranış
Sürüm farklılıkları önemlidir:
- API 33 ve üzeri: çalışma zamanında istenmelidir; reddedilmesi bildirimlerin gönderilemeyeceği anlamına gelir
- API 32 ve altı: bildirimlere varsayılan olarak izin verilir; istem gerekmez
İstemeden Önce Kontrol Etme
Yalnızca Android 13 ve üzeri sürümlerde ve izin henüz verilmemişse istekte bulunun. Çağrıyı bir sürüm kontrolüyle koruyun.
val needsRequest = Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU &&
ContextCompat.checkSelfPermission(
context, Manifest.permission.POST_NOTIFICATIONS
) != PackageManager.PERMISSION_GRANTEDCompose'ta İsteme
Diğer izinler için öğrendiğiniz Activity Result API'sinin aynısını kullanın: RequestPermission sözleşmesine sahip bir başlatıcı oluşturun ve bunu POST_NOTIFICATIONS ile başlatın.
val launcher = rememberLauncherForActivityResult(
ActivityResultContracts.RequestPermission()
) { granted ->
// update UI based on whether notifications are allowed
}İstemi Başlatma
İsteği yalnızca API 33 ve üzeri sürümlerde tetikleyin. İdeal olarak bunu uygulama açılır açılmaz düşünmeden yapmak yerine, kullanıcının bildirimlerden yararlanacağı bir işlem gerçekleştirdiği anda yapın.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
launcher.launch(Manifest.permission.POST_NOTIFICATIONS)
}Bağlama Uygun Şekilde İsteyin
Tüm izinlerde olduğu gibi, isteği bağlama uygun şekilde yapın. Örneğin uygulama açıldığı anda sormak yerine, kullanıcı anımsatıcılar gibi bir özelliği etkinleştirdikten sonra yararını açıklayarak isteyin.
Reddedilmeyi Uygun Şekilde Ele Alma
İzin reddedilirse uygulamayı bozmayın. Bildirimlere bağlı geçişleri devre dışı bırakın veya bildirimlerin kapalı olduğunu belirten bir ipucu gösterin. Kullanıcı daha sonra etkinleştirmek isterse sistem Ayarları'na bir bağlantı sunun.
Hedef SDK Uygulamayı Tetikler
Çalışma zamanı gereksinimi, uygulamanız API 33 ve üzerini hedeflediğinde geçerlidir. Eski bir uygulama Android 13 üzerinde çalışıyorsa sistem istemi ilk gönderimde otomatik olarak gösterebilir; ancak yine de açıkça istemelisiniz.
Hızlı Kontrol
Bildirim çalışma zamanı izni konusundaki anlayışınızı sınayın.
Özet
Bildirim iznini yönettiniz:
- Android 13 ve üzeri,
POST_NOTIFICATIONSçalışma zamanı iznini gerektirir - İzni manifest'te bildirin ve Activity Result API ile isteyin
- İstekleri bir sürüm kontrolüyle koruyun ve bağlama uygun şekilde yapın
- İzin reddedildiğinde uygulamayı uygun şekilde çalıştırmaya devam edin
Bildirimler kursunu tamamladınız.
Sıkça Sorulan Sorular
“Bildirimler için Çalışma Zamanı İzni” dersi ücretsiz mi?
Evet — “Bildirimler için Çalışma Zamanı İzni” 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.
“Bildirimler için Çalışma Zamanı İzni” dersinde ne öğreneceğim?
Android 13 ve sonraki sürümlerde bildirim izni isteyin. 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 4. dersidir.
“Bildirimler için Çalışma Zamanı İzni” 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
- Bildirim Kanalları
- Bildirim Oluşturma
- Eylemler ve Derin Bağlantılar
- Bildirimler için Çalışma Zamanı İzni