protected string SerializeMessageFromProperties(Platform?platform) { if (!platform.HasValue) { GCMNotificationPayload gcmPayload = model.GCMNotificationPayload ?? new GCMNotificationPayload(model.NotificationPayload); APNSNotificationPayload apnsPayload = model.APNSNotificationPayload ?? new APNSNotificationPayload(model.NotificationPayload); APNSPushMessage generatedApns = GenerateAPNSMessageFromPayload(apnsPayload); GCMPushMessage generatedGcm = GenerateGCMMessageFromPayload(gcmPayload); return(CreateSNSNotificationMessage(generatedApns, generatedGcm, model.TargetEnvironment, apnsPayload.CustomPayload, gcmPayload.CustomPayload, model.SnsDefaultMessage)); } switch (platform.Value) { case Platform.APNS: APNSNotificationPayload apnsPayload = model.APNSNotificationPayload ?? new APNSNotificationPayload(model.NotificationPayload); APNSPushMessage generatedApns = GenerateAPNSMessageFromPayload(apnsPayload); return(CreateSNSNotificationMessage(generatedApns, null, model.TargetEnvironment, apnsPayload.CustomPayload, null, model.SnsDefaultMessage)); case Platform.GCM: GCMNotificationPayload gcmPayload = model.GCMNotificationPayload ?? new GCMNotificationPayload(model.NotificationPayload); GCMPushMessage generatedGcm = GenerateGCMMessageFromPayload(gcmPayload); return(CreateSNSNotificationMessage(null, generatedGcm, model.TargetEnvironment, null, gcmPayload.CustomPayload, model.SnsDefaultMessage)); default: return(""); } }
public PublishOperatorModel(PublishRequest model, bool consistentRead = false) { this.TimeToLive = model.TimeToLive; this.SnsDefaultMessage = model.SnsDefaultMessage; this.TargetEnvironment = model.TargetEnvironment; this.TargetPlatform = model.TargetPlatform; this.NotificationPayload = model.NotificationPayload; this.APNSNotificationPayload = model.APNSNotificationPayload ?? new APNSNotificationPayload(model.NotificationPayload); this.GCMNotificationPayload = model.GCMNotificationPayload ?? new GCMNotificationPayload(model.NotificationPayload); }
protected GCMPushMessage GenerateGCMMessageFromPayload(GCMNotificationPayload payload) { GCMPushMessage gcmMessage = new GCMPushMessage(); gcmMessage.title = payload.Title; gcmMessage.body = payload.Body; gcmMessage.badge = payload.Badge; gcmMessage.sound = payload.Sound; return(gcmMessage); }
/// <summary> /// Set the payload for this notification publish request /// </summary> /// <param name="apnsPayload"> Payload for only APNS </param> /// <param name="gcmPayload"> Payload for only GCM </param> public void SetPayload(APNSNotificationPayload apnsPayload, GCMNotificationPayload gcmPayload) { this.APNSNotificationPayload = apnsPayload; this.GCMNotificationPayload = gcmPayload; }