我有一个用.NET内核编写的REST API,现在需要创建一个Push Notification到Firebase Cloud Messaging (FCM)。为了测试,我使用Firebase Console,但我需要通过编程完成。我已经通过谷歌浏览了Firebase的文档和一些示例,但我更困惑。我认为通过一个普通的Http创建一个消息是可能的,但是有人能发布一个简单的工作示例吗?这样我就可以拿起它了,拜托?或者也许,我的理解是完全错误的?
Push Notification
Firebase Cloud Messaging (FCM)
Firebase Console
Http
ffscu2ro1#
有了.NET Core,您可以使用这个轻量级的library来发送FCM推送通知和APN HTTP/2推送通知:
Install-Package CorePush
然后是Firebase:
using (var fcm = new FirebaseSender(serverKey, senderId)) { await fcm.SendAsync(notification); }
或APN:
using (var apn = new ApnSender(privateKey, keyId, teamId, appbundleId, server)) { await apn.SendAsync(deviceToken, notification); }
hgc7kmma2#
有些人也喜欢这个问题,所以想到提供我实现的解决方案,认为它可能会帮助其他人。如果你有任何问题,请随时提问。
如何获取服务器密钥:这里是question link,它会有所帮助。Firebase云消息传递文档可在here中找到。
public class FirebaseNotificationModel { [JsonProperty(PropertyName = "to")] public string To { get; set; } [JsonProperty(PropertyName = "notification")] public NotificationModel Notification { get; set; } } using System.Net.Http; using System.Text; public static async void Send(FirebaseNotificationModel firebaseModel) { HttpRequestMessage httpRequest = null; HttpClient httpClient = null; var authorizationKey = string.Format("key={0}", "YourFirebaseServerKey"); var jsonBody = SerializationHelper.SerializeObject(firebaseModel); try { httpRequest = new HttpRequestMessage(HttpMethod.Post, "https://fcm.googleapis.com/fcm/send"); httpRequest.Headers.TryAddWithoutValidation("Authorization", authorizationKey); httpRequest.Content = new StringContent(jsonBody, Encoding.UTF8, "application/json"); httpClient = new HttpClient(); using (await httpClient.SendAsync(httpRequest)) { } } catch { throw; } finally { httpRequest.Dispose(); httpClient.Dispose(); } }
2条答案
按热度按时间ffscu2ro1#
有了.NET Core,您可以使用这个轻量级的library来发送FCM推送通知和APN HTTP/2推送通知:
然后是Firebase:
或APN:
hgc7kmma2#
有些人也喜欢这个问题,所以想到提供我实现的解决方案,认为它可能会帮助其他人。如果你有任何问题,请随时提问。
如何获取服务器密钥:这里是question link,它会有所帮助。
Firebase云消息传递文档可在here中找到。