using Newtonsoft.Json;
namespace Jiguang.JPush.Model
{
public class SinglePayload
{
///
/// 推送平台。可以为 "android" / "ios" / "all"。
///
[JsonProperty("platform", DefaultValueHandling = DefaultValueHandling.Include)]
public object Platform { get; set; } = "all";
///
/// 推送设备指定。
/// 如果是调用RegID方式批量单推接口(/v3/push/batch/regid/single),那此处就是指定regid值;
/// 如果是调用Alias方式批量单推接口(/v3/push/batch/alias/single),那此处就是指定alias值。
///
[JsonProperty("target", DefaultValueHandling = DefaultValueHandling.Include)]
public string Target { get; set; }
[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)]
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();
}
}
}