Android 8+ Bildirim Kanalları: Adım Adım Kurulum Rehberi

Android 8.0 (API 26) ile birlikte Google, bildirim sistemini köklü biçimde değiştirdi. Artık her bildirim bir kanala ait olmak zorunda. Kanal, kullanıcıya bildirimleri gruplandırma, sessiz modunu ayarlama ve önemlileri filtreleme imkanı veriyor. Kanalı tanımlamadan bildirim gönderirsen uygulama çöker veya bildirimlerin gözükmez.

Kanal mekanizması, kullanıcıya kontrol verir. Örneğin mesajlaşma uygulamasında sohbetler sessiz, oyun bildirimleri titreşimli olabilir. Sistem kanal başına bağımsız izin ve ayarlar tutar.

Uygulama başlangıcında (Application sınıfında veya MainActivity'de) kanalı bir kez oluştur:

1import android.app.NotificationChannel;
2import android.app.NotificationManager;
3import android.os.Build;
4
5public class MainActivity extends AppCompatActivity {
6private static final String CHANNEL_ID = "my_channel";
7
9protected void onCreate(Bundle savedInstanceState) {
10super.onCreate(savedInstanceState);
11setContentView(R.layout.activity_main);
12
13if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
14NotificationChannel channel = new NotificationChannel(
15CHANNEL_ID,
16"Önemli Bildirimler",
17NotificationManager.IMPORTANCE_DEFAULT
18);
19channel.setDescription("Uygulama bildirimleri");
20
21NotificationManager manager = getSystemService(NotificationManager.class);
22manager.createNotificationChannel(channel);
23}
24}
25}

Kanala bağlı bildirim oluştur ve göster:

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası
1import androidx.core.app.NotificationCompat;
2
3public void sendNotification() {
4NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID).setSmallIcon(R.drawable.ic_notification).setContentTitle("Merhaba").setContentText("Bu bir test bildirimidir").setPriority(NotificationCompat.PRIORITY_DEFAULT);
5
6NotificationManager manager = getSystemService(NotificationManager.class);
7manager.notify(1, builder.build());
8}

IMPORTANCE_NONE: Sessiz, durum çubuğunda gözükmez.
IMPORTANCE_MIN: Sessiz, durum çubuğunda gözükür.
IMPORTANCE_LOW: Ses yok, titreşim var.
IMPORTANCE_DEFAULT: Ses ve titreşim (varsayılan).
IMPORTANCE_HIGH: Başlık şeklinde görünür, ses ve titreşim.

Kanal adı ve açıklaması kullanıcı ayarlarında görünür; önemli bilgileri koy.

Birden fazla kanal kullan: biri acil mesajlar için (IMPORTANCE_HIGH), diğeri promosyon için (IMPORTANCE_LOW). Böylece kullanıcı istediği bildirimleri kontrol edebilir.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz