/// <summary> /// Copies this FCM options, and validates the content of it to ensure that it can /// be serialized into the JSON format expected by the FCM service. /// </summary> internal ApnsFcmOptions CopyAndValidate() { var copy = new ApnsFcmOptions() { AnalyticsLabel = this.AnalyticsLabel, }; AnalyticsLabelChecker.ValidateAnalyticsLabel(copy.AnalyticsLabel); return(copy); }
/// <summary> /// Copies this FCM options, and validates the content of it to ensure that it can /// be serialized into the JSON format expected by the FCM service. /// </summary> internal ApnsFcmOptions CopyAndValidate() { var copy = new ApnsFcmOptions() { AnalyticsLabel = this.AnalyticsLabel, ImageUrl = this.ImageUrl, }; AnalyticsLabelChecker.ValidateAnalyticsLabel(copy.AnalyticsLabel); if (copy.ImageUrl != null && !Uri.IsWellFormedUriString(copy.ImageUrl, UriKind.Absolute)) { throw new ArgumentException($"Malformed image URL string: {copy.ImageUrl}."); } return(copy); }