コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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);
        }