public iOSNotificationPayload(IDictionary _payloadDict) { iOSProperties = new iOSSpecificProperties(); string _userInfoKey = NPSettings.Notification.iOS.UserInfoKey; IDictionary _apsDict = _payloadDict[kAPS] as IDictionary; // Read alert info from aps dictionary if (_apsDict.Contains(kAlert)) { object _alertUnknownType = _apsDict[kAlert] as object; if (_alertUnknownType != null) { // String format if ((_alertUnknownType as string) != null) { AlertBody = _alertUnknownType as string; } // Dictionary format else { IDictionary _alertDict = _alertUnknownType as IDictionary; string _alertAction = _alertDict.GetIfAvailable <string>(kAction); bool _hasAction = false; if (_alertDict.Contains(kHasAction)) { _hasAction = System.Convert.ToBoolean(_alertDict[kHasAction]); } else { _hasAction = (_alertAction != null); } // Set properties AlertBody = _alertDict.GetIfAvailable <string>(kBody); iOSProperties.AlertAction = _alertAction; iOSProperties.HasAction = _hasAction; iOSProperties.LaunchImage = _alertDict.GetIfAvailable <string>(kLaunchImage); } } } // Read sound, badge info from aps dictionary SoundName = _apsDict.GetIfAvailable <string>(kSound); iOSProperties.BadgeCount = _apsDict.GetIfAvailable <int>(kBadge); // Read user info from payload dictionary UserInfo = _payloadDict.GetIfAvailable <IDictionary>(_userInfoKey); // Read fire date, repeat interval from payload dictionary string _fireDateStr = _payloadDict.GetIfAvailable <string>(kFireDate); if (_fireDateStr != null) { FireDate = _fireDateStr.ToZuluFormatDateTimeLocal(); } RepeatInterval = ConvertToRepeatInterval(_payloadDict.GetIfAvailable <CalendarUnit>(kRepeatIntervalKey)); }
public static IDictionary CreateNotificationPayload(CrossPlatformNotification _notification) { IDictionary _payloadDict = new Dictionary <string, object>(); IDictionary _apsDict = new Dictionary <string, object>(); iOSSpecificProperties _iosProperties = _notification.iOSProperties; // Alert IDictionary _alertDict = new Dictionary <string, string>(); _alertDict[kBody] = _notification.AlertBody; _alertDict[kAction] = _iosProperties.AlertAction; _alertDict[kLaunchImage] = _iosProperties.LaunchImage; _apsDict[kAlert] = _alertDict; // User info, fire date string _keyForUserInfo = NPSettings.Notification.iOS.UserInfoKey; _apsDict[_keyForUserInfo] = _notification.UserInfo; _apsDict[kFireDate] = _notification.FireDate.ToStringUsingZuluFormat(); // Sound, badge _apsDict[kBadge] = _iosProperties.BadgeCount; _apsDict[kSound] = _iosProperties.SoundName; // Add aps dictionary to payload _payloadDict[kAPS] = _apsDict; return(_payloadDict); }
public OneSignalNotificationPayload(string _message, Dictionary <string, object> _additionalData) { // Set properties this.AlertBody = _message; this.iOSProperties = new iOSSpecificProperties(); this.AndroidProperties = new AndroidSpecificProperties(); this.SoundName = _additionalData.GetIfAvailable <string>(kSoundKey); // Extract other properties from data dictionary if (_additionalData == null) { return; } // iOS specific properties iOSSpecificProperties _iOSProperties = this.iOSProperties; _iOSProperties.HasAction = _additionalData.ContainsKey(kActionButtonsKey); // Android specific properties AndroidSpecificProperties _androidProperties = this.AndroidProperties; _androidProperties.ContentTitle = _additionalData.GetIfAvailable <string>(kTitleKey); // Get user info dictionary by removing used property keys IDictionary _userInfoDict = new Dictionary <string, object>(_additionalData); _userInfoDict.Remove(kTitleKey); this.UserInfo = _userInfoDict; }
internal CrossPlatformNotification(IDictionary _jsonDict) { // Get alert body AlertBody = _jsonDict.GetIfAvailable <string>(kAlertBodyKey); // Get fire date, repeat interval string _fireDateStr = _jsonDict.GetIfAvailable <string>(kFireDateKey); if (!string.IsNullOrEmpty(_fireDateStr)) { FireDate = _fireDateStr.ToZuluFormatDateTimeLocal(); } RepeatInterval = _jsonDict.GetIfAvailable <eNotificationRepeatInterval>(kRepeatIntervalKey); // Get user info UserInfo = _jsonDict[kUserInfoKey] as IDictionary; // Get sound name SoundName = _jsonDict.GetIfAvailable <string>(kSoundNameKey); // Get iOS specific properties, if included if (_jsonDict.Contains(kiOSPropertiesKey)) { iOSProperties = new iOSSpecificProperties(_jsonDict[kiOSPropertiesKey] as IDictionary); } // Get Android specific properties, if included if (_jsonDict.Contains(kAndroidPropertiesKey)) { AndroidProperties = new AndroidSpecificProperties(_jsonDict[kAndroidPropertiesKey] as IDictionary); } }
public static IDictionary CreateNotificationPayload(CrossPlatformNotification _notification) { IDictionary _payloadDict = new Dictionary <string, object>(); IDictionary _apsDict = new Dictionary <string, object>(); iOSSpecificProperties _iosProperties = _notification.iOSProperties; string _keyForUserInfo = NPSettings.Notification.iOS.UserInfoKey; // Add alert info IDictionary _alertDict = new Dictionary <string, string>(); _alertDict[kBody] = _notification.AlertBody; _alertDict[kAction] = _iosProperties.AlertAction; _alertDict[kLaunchImage] = _iosProperties.LaunchImage; // Add alert, badge, sound to "aps" dictionary _apsDict[kAlert] = _alertDict; _apsDict[kBadge] = _iosProperties.BadgeCount; _apsDict[kSound] = _iosProperties.SoundName; // Add aps, user info, fire date, repeat interval to "payload" dictionary _payloadDict[kAPS] = _apsDict; _payloadDict[_keyForUserInfo] = _notification.UserInfo; _payloadDict[kFireDate] = _notification.FireDate.ToStringUsingZuluFormat(); _payloadDict[kRepeatIntervalKey] = (int)ConvertToCalendarUnit(_notification.RepeatInterval); return(_payloadDict); }
public iOSNotificationPayload (IDictionary _payloadDict) { IDictionary _apsDict = _payloadDict[kAPS] as IDictionary; string _userInfoKey = NPSettings.Notification.iOS.UserInfoKey; iOSProperties = new iOSSpecificProperties(); // Read alert info if (_apsDict.Contains(kAlert)) { object _alertUnknownType = _apsDict[kAlert] as object; if (_alertUnknownType != null) { // String format if ((_alertUnknownType as string) != null) { AlertBody = _alertUnknownType as string; } // Dictionary format else { IDictionary _alertDict = _alertUnknownType as IDictionary; AlertBody = _alertDict.GetIfAvailable<string>(kBody); string _alertAction = _alertDict.GetIfAvailable<string>(kAction); if (string.IsNullOrEmpty(_alertAction)) { iOSProperties.AlertAction = null; iOSProperties.HasAction = false; } else { iOSProperties.AlertAction = _alertAction; iOSProperties.HasAction = true; } // Launch image iOSProperties.LaunchImage = _alertDict.GetIfAvailable<string>(kLaunchImage); } } } // Read sound, badge info iOSProperties.SoundName = _apsDict.GetIfAvailable<string>(kSound); iOSProperties.BadgeCount = _apsDict.GetIfAvailable<int>(kBadge); // Read user info if (_apsDict.Contains(_userInfoKey)) UserInfo = _payloadDict[_userInfoKey] as IDictionary; // Read fire date, repeat interval string _fireDateStr = _payloadDict.GetIfAvailable<string>(kFireDate); if (!string.IsNullOrEmpty(_fireDateStr)) FireDate = _fireDateStr.ToDateTimeLocalUsingZuluFormat(); RepeatInterval = ConvertToRepeatInterval(_payloadDict.GetIfAvailable<CalendarUnit>(kRepeatIntervalKey)); }
public iOSNotificationPayload (IDictionary _payloadDict) { iOSProperties = new iOSSpecificProperties(); string _userInfoKey = NPSettings.Notification.iOS.UserInfoKey; IDictionary _apsDict = _payloadDict[kAPS] as IDictionary; // Read alert info from aps dictionary if (_apsDict.Contains(kAlert)) { object _alertUnknownType = _apsDict[kAlert] as object; if (_alertUnknownType != null) { // String format if ((_alertUnknownType as string) != null) { AlertBody = _alertUnknownType as string; } // Dictionary format else { IDictionary _alertDict = _alertUnknownType as IDictionary; string _alertAction = _alertDict.GetIfAvailable<string>(kAction); bool _hasAction = false; if (_alertDict.Contains(kHasAction)) _hasAction = System.Convert.ToBoolean(_alertDict[kHasAction]); else _hasAction = (_alertAction != null); // Set properties AlertBody = _alertDict.GetIfAvailable<string>(kBody); iOSProperties.AlertAction = _alertAction; iOSProperties.HasAction = _hasAction; iOSProperties.LaunchImage = _alertDict.GetIfAvailable<string>(kLaunchImage); } } } // Read sound, badge info from aps dictionary SoundName = _apsDict.GetIfAvailable<string>(kSound); iOSProperties.BadgeCount = _apsDict.GetIfAvailable<int>(kBadge); // Read user info from payload dictionary UserInfo = _payloadDict.GetIfAvailable<IDictionary>(_userInfoKey); // Read fire date, repeat interval from payload dictionary string _fireDateStr = _payloadDict.GetIfAvailable<string>(kFireDate); if (_fireDateStr != null) FireDate = _fireDateStr.ToZuluFormatDateTimeLocal(); RepeatInterval = ConvertToRepeatInterval(_payloadDict.GetIfAvailable<CalendarUnit>(kRepeatIntervalKey)); }
internal CrossPlatformNotification(IDictionary _jsonDict) { // Get alert body AlertBody = _jsonDict.GetIfAvailable<string>(kAlertBodyKey); // Get fire date string _fireDateStr = _jsonDict.GetIfAvailable<string>(kFireDateKey); if (!string.IsNullOrEmpty(_fireDateStr)) FireDate = _fireDateStr.ToDateTimeLocalUsingZuluFormat(); // Get user info UserInfo = _jsonDict[kUserInfoKey] as IDictionary; // Get iOS specific properties, if included if (_jsonDict.Contains(kiOSPropertiesKey)) iOSProperties = new iOSSpecificProperties(_jsonDict[kiOSPropertiesKey] as IDictionary); // Get Android specific properties, if included if (_jsonDict.Contains(kAndroidPropertiesKey)) AndroidProperties = new AndroidSpecificProperties(_jsonDict[kAndroidPropertiesKey] as IDictionary); }
public OneSignalNotificationPayload(OSNotificationPayload _payload) { // iOS specific properties iOSSpecificProperties _iOSProperties = new iOSSpecificProperties(); _iOSProperties.HasAction = (_payload.actionButtons != null) && (_payload.actionButtons.Count > 0); // Android specific properties AndroidSpecificProperties _androidProperties = new AndroidSpecificProperties(); _androidProperties.ContentTitle = _payload.title; // Get user info dictionary by removing used property keys IDictionary _userInfoDict = new Dictionary <string, object>(_payload.additionalData != null ? _payload.additionalData : new Dictionary <string, object>()); _userInfoDict.Remove(kTitleKey); // Set properties this.AlertBody = _payload.body; this.iOSProperties = _iOSProperties; this.AndroidProperties = _androidProperties; this.SoundName = _payload.sound; this.UserInfo = _userInfoDict; }
public iOSNotificationPayload(IDictionary _payloadDict) { IDictionary _apsDict = _payloadDict[kAPS] as IDictionary; iOSProperties = new iOSSpecificProperties(); // Alert if (_apsDict.Contains(kAlert)) { object _alertUnknownType = _apsDict[kAlert] as object; if (_alertUnknownType != null) { // String type if ((_alertUnknownType as string) != null) { AlertBody = _alertUnknownType as string; } // Dictionary type else { IDictionary _alertDict = _alertUnknownType as IDictionary; // Set alert body AlertBody = _alertDict.GetIfAvailable <string>(kBody); // Set alert action string _alertAction = _alertDict.GetIfAvailable <string>(kAction); if (string.IsNullOrEmpty(_alertAction)) { iOSProperties.AlertAction = null; iOSProperties.HasAction = false; } else { iOSProperties.AlertAction = _alertAction; iOSProperties.HasAction = true; } // Launch image iOSProperties.LaunchImage = _alertDict.GetIfAvailable <string>(kLaunchImage); } } } // Userinfo string _userInfoKey = NPSettings.Notification.iOS.UserInfoKey; if (_apsDict.Contains(_userInfoKey)) { UserInfo = _apsDict[_userInfoKey] as IDictionary; } // Fire date string _fireDateStr = _apsDict.GetIfAvailable <string>(kFireDate); if (!string.IsNullOrEmpty(_fireDateStr)) { FireDate = _fireDateStr.ToDateTimeLocalUsingZuluFormat(); } // Sound, Badge iOSProperties.SoundName = _apsDict.GetIfAvailable <string>(kSound); iOSProperties.BadgeCount = _apsDict.GetIfAvailable <int>(kBadge); }
public iOSNotificationPayload(IDictionary _payloadDict) { IDictionary _apsDict = _payloadDict[kAPS] as IDictionary; string _userInfoKey = NPSettings.Notification.iOS.UserInfoKey; iOSProperties = new iOSSpecificProperties(); // Read alert info if (_apsDict.Contains(kAlert)) { object _alertUnknownType = _apsDict[kAlert] as object; if (_alertUnknownType != null) { // String format if ((_alertUnknownType as string) != null) { AlertBody = _alertUnknownType as string; } // Dictionary format else { IDictionary _alertDict = _alertUnknownType as IDictionary; AlertBody = _alertDict.GetIfAvailable <string>(kBody); string _alertAction = _alertDict.GetIfAvailable <string>(kAction); if (string.IsNullOrEmpty(_alertAction)) { iOSProperties.AlertAction = null; iOSProperties.HasAction = false; } else { iOSProperties.AlertAction = _alertAction; iOSProperties.HasAction = true; } // Launch image iOSProperties.LaunchImage = _alertDict.GetIfAvailable <string>(kLaunchImage); } } } // Read sound, badge info iOSProperties.SoundName = _apsDict.GetIfAvailable <string>(kSound); iOSProperties.BadgeCount = _apsDict.GetIfAvailable <int>(kBadge); // Read user info if (_apsDict.Contains(_userInfoKey)) { UserInfo = _payloadDict[_userInfoKey] as IDictionary; } // Read fire date, repeat interval string _fireDateStr = _payloadDict.GetIfAvailable <string>(kFireDate); if (!string.IsNullOrEmpty(_fireDateStr)) { FireDate = _fireDateStr.ToDateTimeLocalUsingZuluFormat(); } RepeatInterval = ConvertToRepeatInterval(_payloadDict.GetIfAvailable <CalendarUnit>(kRepeatIntervalKey)); }
public iOSNotificationPayload(IDictionary _payloadDict) { IDictionary _apsDict = _payloadDict[kAPS] as IDictionary; iOSProperties = new iOSSpecificProperties(); // Alert if (_apsDict.Contains(kAlert)) { object _alertUnknownType = _apsDict[kAlert] as object; if (_alertUnknownType != null) { // String type if ((_alertUnknownType as string) != null) { AlertBody = _alertUnknownType as string; } // Dictionary type else { IDictionary _alertDict = _alertUnknownType as IDictionary; // Set alert body AlertBody = _alertDict.GetIfAvailable<string>(kBody); // Set alert action string _alertAction = _alertDict.GetIfAvailable<string>(kAction); if (string.IsNullOrEmpty(_alertAction)) { iOSProperties.AlertAction = null; iOSProperties.HasAction = false; } else { iOSProperties.AlertAction = _alertAction; iOSProperties.HasAction = true; } // Launch image iOSProperties.LaunchImage = _alertDict.GetIfAvailable<string>(kLaunchImage); } } } // Userinfo string _userInfoKey = NPSettings.Notification.iOS.UserInfoKey; if (_apsDict.Contains(_userInfoKey)) UserInfo = _apsDict[_userInfoKey] as IDictionary; // Fire date string _fireDateStr = _apsDict.GetIfAvailable<string>(kFireDate); if (!string.IsNullOrEmpty(_fireDateStr)) FireDate = _fireDateStr.ToDateTimeLocalUsingZuluFormat(); // Sound, Badge iOSProperties.SoundName = _apsDict.GetIfAvailable<string>(kSound); iOSProperties.BadgeCount = _apsDict.GetIfAvailable<int>(kBadge); }