Forest_Client/Forest/Assets/Scripts/Gameplay/Debug/SROptions.Notification.cs

43 lines
1.6 KiB
C#

using System.ComponentModel;
using System;
using Unity.Notifications.Android;
public partial class SROptions
{
[Category("通知相关"), DisplayName("通知id")]
public int NotificationID { get; set; }
[Category("通知相关"), DisplayName("发送通知")]
public void SendNotification()
{
#if UNITY_ANDROID
int id = Notification.Android.SetNotification("通知", "测试通知", DateTime.UtcNow.AddSeconds(5f), "small", "large", "测试", true);
DebugUtil.Log($"发送安卓测试通知,通知id{id}");
#endif
}
[Category("通知相关"), DisplayName("取消指定id通知")]
public void CancelNotification()
{
#if UNITY_ANDROID
Notification.Android.CancelNotification(NotificationID);
DebugUtil.Log($"取消安卓测试通知,通知id{NotificationID}");
#endif
}
[Category("通知相关"), DisplayName("获取指定id通知状态")]
public void GetNotificationStatus()
{
#if UNITY_ANDROID
NotificationStatus notificationStatus = Notification.Android.GetNotificationStatus(NotificationID);
string content = notificationStatus switch
{
NotificationStatus.Unavailable => "无法确定指定通知的状态。仅支持 Android Marshmallow (6.0) 及以上版本。",
NotificationStatus.Scheduled => $"id为{NotificationID}的通知已排定但尚未送达。",
NotificationStatus.Delivered => $"id为{NotificationID}的通知已发送(显示在状态栏中)。",
_ => $"找不到指定id为{NotificationID}的通知。",
};
DebugUtil.Log(content);
#endif
}
}