using Microsoft.Extensions.Options; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace gehGassi.LocalNotifications { public interface INotificationService { event NotificationTappedEventHandler OnNotificationTapped; event NotificationReceivedEventHandler OnNotificationReceived; Task> GetPendingNotificationRequestsAsync(); Task CancelAsync(int notificationId); Task CancelAllAsync(); /// /// Notification anzeigen /// Task ShowAsync(int notificationId, string title, string description, string payload, AndroidOptions androidOptions = null, IosOptions iOSOptions = null); /// /// Anzeige einer Benachrichtigung in einem stündlichen Intervall (einmal pro Stunde) /// Task ShowHourlyAsync(int notificationId, string title, string description, Time time, string payload, AndroidOptions androidOptions = null, IosOptions iOSOptions = null); /// /// Täglich eine Benachrichtigung anzeigen ( Einmal pro Tag ) /// Task ShowDailyAsync(int notificationId, string title, string description, Time time, string payload, AndroidOptions androidOptions = null, IosOptions iOSOptions = null); /// /// Anzeige einer Benachrichtigung in einem wöchentlichen Intervall (einmal pro Woche) /// Task ShowWeeklyAsync(int notificationId, string title, string description, Day weekDay, Time time, string payload, AndroidOptions androidOptions = null, IosOptions iOSOptions = null); /// /// Legt fest, dass eine Benachrichtigung zum angegebenen Zeitpunkt angezeigt wird /// Task ScheduleAsync(int notificationId, string title, string description, DateTime dateTime, string payload, AndroidOptions androidOptions = null, IosOptions iOSOptions = null); } }