public async Task <PushMessageResponse> SendCloudMessageAsync(FirebasePushMessageEnvelope request) { var messageUri = new Uri($"/v1/projects/{Credentials.GetProjectId()}/messages:send", UriKind.Relative); var dataAsString = await SendAsync(() => BuildRequestMessage(messageUri, request)).ConfigureAwait(false); return(JsonConvert.DeserializeObject <PushMessageResponse>(dataAsString, Client.SerializerSettings)); }
public async Task <PushMessageResponse> SendCloudMessageAsync(FirebasePushMessage request, bool dryRun = false) { var message = new FirebasePushMessageEnvelope { DryRun = dryRun, Message = request }; return(await _httpClient.SendCloudMessageAsync(message).ConfigureAwait(false)); }
private HttpRequestMessage BuildRequestMessage(Uri path, FirebasePushMessageEnvelope content) { var stringContent = JsonConvert.SerializeObject(content, Client.SerializerSettings); var jsonContent = new StringContent(stringContent, Encoding.UTF8, "application/json"); var fullUri = GetFullAbsoluteUrl(path); var message = new HttpRequestMessage { RequestUri = fullUri, Method = HttpMethod.Post, Content = jsonContent }; AddAuthHeaders(message); return(message); }