using System;
namespace NotificationSamples
{
///
/// Represents a notification that will be delivered for this application.
///
public interface IGameNotification
{
///
/// Gets or sets a unique identifier for this notification.
///
///
///
/// If null, will be generated automatically once the notification is delivered, and then
/// can be retrieved afterwards.
///
/// On some platforms, this might be converted to a string identifier internally.
///
/// A unique integer identifier for this notification, or null (on some platforms) if not explicitly set.
int? Id { get; set; }
///
/// Gets or sets the notification's title.
///
/// The title message for the notification.
string Title { get; set; }
///
/// Gets or sets the body text of the notification.
///
/// The body message for the notification.
string Body { get; set; }
///
/// Gets or sets a subtitle for the notification.
///
/// The subtitle message for the notification.
string Subtitle { get; set; }
///
/// Gets or sets optional arbitrary data for the notification.
///
string Data { get; set; }
///
/// Gets or sets group to which this notification belongs.
///
/// A platform specific string identifier for the notification's group.
string Group { get; set; }
///
/// Gets or sets the badge number for this notification. No badge number will be shown if null.
///
/// The number displayed on the app badge.
int? BadgeNumber { get; set; }
///
/// Gets or sets if this notification will be dismissed automatically when the user taps it.
/// Only available on Android.
///
bool ShouldAutoCancel { get; set; }
///
/// Gets or sets time to deliver the notification.
///
/// The time of delivery in local time.
DateTime? DeliveryTime { get; set; }
///
/// Gets whether this notification has been scheduled.
///
/// True if the notification has been scheduled with the underlying operating system.
bool Scheduled { get; }
///
/// Notification small icon.
///
string SmallIcon { get; set; }
///
/// Notification large icon.
///
string LargeIcon { get; set; }
}
}