Files
g.hnyhua.cn/Jiguang.JPush/Model/PushPayload.cs
2026-02-07 15:48:27 +08:00

51 lines
1.7 KiB
C#

using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace Jiguang.JPush.Model
{
public class PushPayload
{
[JsonProperty("cid", NullValueHandling = NullValueHandling.Ignore)]
public string CId { get; set; }
/// <summary>
/// 推送平台。可以为 "android" / "ios" / "all"。
/// </summary>
[JsonProperty("platform", DefaultValueHandling = DefaultValueHandling.Include)]
public object Platform { get; set; } = "all";
[JsonProperty("audience", DefaultValueHandling = DefaultValueHandling.Include)]
public object Audience { get; set; } = "all";
[JsonProperty("notification", NullValueHandling = NullValueHandling.Ignore)]
public Notification Notification { get; set; }
[JsonProperty("message", NullValueHandling = NullValueHandling.Ignore)]
public Message Message { get; set; }
[JsonProperty("sms_message", NullValueHandling = NullValueHandling.Ignore)]
public SmsMessage SMSMessage { get; set; }
[JsonProperty("options", DefaultValueHandling = DefaultValueHandling.Include)]
[JsonConverter(typeof(OptionsJsonConvert))]
public Options Options { get; set; } = new Options
{
IsApnsProduction = false
};
internal string GetJson()
{
return JsonConvert.SerializeObject(this, new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore,
DefaultValueHandling = DefaultValueHandling.Ignore
});
}
public override string ToString()
{
return GetJson();
}
}
}