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;45public class MainActivity extends AppCompatActivity {6private static final String CHANNEL_ID = "my_channel";79protected void onCreate(Bundle savedInstanceState) {10super.onCreate(savedInstanceState);11setContentView(R.layout.activity_main);1213if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {14NotificationChannel channel = new NotificationChannel(15CHANNEL_ID,16"Önemli Bildirimler",17NotificationManager.IMPORTANCE_DEFAULT18);19channel.setDescription("Uygulama bildirimleri");2021NotificationManager manager = getSystemService(NotificationManager.class);22manager.createNotificationChannel(channel);23}24}25}Kanala bağlı bildirim oluştur ve göster:
1import androidx.core.app.NotificationCompat;23public 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);56NotificationManager 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.
0 yorum