Merhabalar, geliştirmek istediğim uygulamada planlı (tarih saat girilerek) bildirim göndermek istiyorum. flutter local notifications eklentisi ile ne yaptıysam başarılı bir sonuç alamadım. Anlık ve zamanlı bildirim gönderebiliyorum ancak datetime ile bir türlü verilmli olamıyor. schedule özelliği güncel eklentide kaldırılmış yerine zoneSchedule kullanılması tavsiye ediliyor. Kullanıyorum olmuyor, internette yapılan uygulamaların birebir aynısını yapsam da olmuyor. Sonuç olarak bir önerisi olan var mı? farklı bir eklenti ya da kod gibi. Teşekkürler.

14 days later

Flutter öncelikle ilginiz için teşekkür ederim. Aslında kod çalışıyor. Aşağıda yazdığım kodu sizinle paylaştım. Benim istediğim, kullanıcı bir tarih ve bildirim almak istediği günü girecek, o istediği gün bildirim verilecek. Ancak kodda sanki “periodicallyShow” “RepeatInterval.daily” özelliği vermişim gibi günlük bildirim veriyor, tarihi görmüyor.

  List<tz.TZDateTime> scheduledDateTimes = [];
  DateTime startDate = DateTime.now();
  Duration offsetTime= DateTime.now().timeZoneOffset;

  Future<void> kurulum() async{
    var androidAyari = const AndroidInitializationSettings("@mipmap/ic_launcher");
    var iosAyari = const DarwinInitializationSettings();
    var kurulumAyari= InitializationSettings(android: androidAyari,iOS: iosAyari);
    await flp.initialize(kurulumAyari, onDidReceiveNotificationResponse: bildirimSecilme);
  }

  Future<void> bildirimSecilme(NotificationResponse notificationResponse) async{
    var payload = notificationResponse.payload;
    if(payload != null){
      debugPrint('notification payload: $payload');
    }
     print("bildirim tıklandı");
  }

Future<void> bildirimOlustur(simdikiYil, ay, gun, secilenBildirimGunu) async {
    var androidBildirimDetay = const AndroidNotificationDetails(
        "kanal adı",
        "kanal içerik",
        channelDescription: "kanal açıklama",
        priority: Priority.high,
        importance: Importance.max);
    var iosBildirimDetay = const DarwinNotificationDetails();
    var bildirimDetay = NotificationDetails(android: androidBildirimDetay, iOS: iosBildirimDetay);
    var dateTime = DateTime((simdikiYil + 1), ay, (gun - secilenBildirimGunu), 10, 0,0,0,0);

    tz.initializeTimeZones();

    await flp.zonedSchedule(
        0,
        "Bildirim başlığı",
        "Bildirim mesaj içeriği",
        tz.TZDateTime.from(dateTime, tz.local),
        bildirimDetay,
        uiLocalNotificationDateInterpretation: UILocalNotificationDateInterpretation.absoluteTime,
        androidAllowWhileIdle: true,
        matchDateTimeComponents: DateTimeComponents.time,
        payload: "Payload zamanlı içerik");

  }

emreheper
periyodik bildirim için aşağıdaki kod işinize yarayabilir

const AndroidNotificationDetails androidNotificationDetails =
    AndroidNotificationDetails(
        'repeating channel id', 'repeating channel name',
        channelDescription: 'repeating description');
const NotificationDetails notificationDetails =
    NotificationDetails(android: androidNotificationDetails);
await flutterLocalNotificationsPlugin.periodicallyShow(0, 'repeating title',
    'repeating body', RepeatInterval.everyMinute, notificationDetails,
    androidAllowWhileIdle: true);

Flutter vermiş olduğunuz kodda her dakika, saatlik, günlük, haftalık seçenekleri mevcut. İstediğim bu değil. Hatta yazdığım kod zaten bu periyodik koddaki günlük seçeneği gibi çalışıyor. Garip bir durum çözemedim.

emreheper Fiziksel cihazda denediniz mi peki hocam ?
Plugin sitesinde bu şekilde örnek vermiş çünkü

    Denedim elimde samsung 7.0, huawei 9.0 ve huawei 11.0 sürümü olan 3 farklı cihaz var. Plugin 8.0 altındaki sürümlerde hata veriyor. Yanlış okumadıysam eksta bi kodlama yapmak gerektiği yazıyordu. ona henüz odaklanamadım. ama diğer cihazlarda aynı sorunla karşılaşıyorum.

    9 days later

    Sanırım hata yazılan kod ile ilgili değil, flutter local notification eklentisi kaynaklı. Çünkü marketten indirdiğim farklı bir uygulamada benzer bir bildirim özelliği denk geldi. onda denedim onda da benim aldığım hatanın aynısı mevcut..

    emreheper Enteresan gerçekten hocam,
    eklentiyi yazan elemanlara molotof niyetiyle issue açarsak belkide güzel bir geliştirme yaparlar 🙂

    Write a Reply...