我有一个已发布的应用程序,现在我希望用户通过推送通知接收新信息,我一直在进行搜索,我找到了firebase,我还有疑问,以及如何在外面添加消息Firebase帐户。 我有一个sql server数据库系统,我在那里保存我的信息,想知道我该如何工作,以便在添加新信息时已经出现在推送通知中
如何在不使用firebase的情况下创建自己的通知服务器?我是否需要使用消息服务器?
答案 0 :(得分:2)
Firebase Cloud Messaging是在您的应用程序中集成推送通知的最佳和优化方法之一。完成此tutorial以在任何android
应用的FCM控制台上设置您的应用。对于IOS
,请使用component获取示例代码。完成FCM控制台上的设置后,尝试从FCM控制台发送推送通知。如果收到,那么您的客户端(应用程序)代码工作正常。
现在,为了设置服务器端实用程序来触发推送通知,有三种方法可以发送推送通知:
使用以下C#
服务器端代码使用设备令牌将消息发送到特定客户端应用程序:
WebRequest objRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send");
string jsonNotificationMessageFormat = "{\"to\":\"device_token_id\",\"notification\":{\"title\":\"This is the title\",\"body\":\"This is the body of message\",\"icon\":\"icon_name\",\"sound\":\"default\"}}";
Byte[] byteArray = Encoding.UTF8.GetBytes(jsonNotificationMessageFormat);
objRequest.Headers.Add(string.Format("Authorization: key={0}", serverKey));
objRequest.Headers.Add(string.Format("Sender: id={0}", senderId));
objRequest.ContentLength = byteArray.Length;
objRequest.ContentType = "application/json";
objRequest.Method = "post";
using (Stream dataStream = objRequest.GetRequestStream())
{
dataStream.Write(byteArray, 0, byteArray.Length);
using (WebResponse objResponse = objRequest.GetResponse())
{
using (Stream dataStreamResponse = objResponse.GetResponseStream())
{
using (StreamReader objReader = new StreamReader(dataStreamResponse))
{
String responseFromFirebaseServer = objReader.ReadToEnd();
}
}
}
}
注意:一旦完成了应用程序的配置,就可以在firebase控制台的项目设置窗格的云消息传递选项卡中找到serverKey
和senderId
FCM控制台。
注意:每次在任何设备上安装应用程序时,该设备的device_token
都会发生变化,因此您需要更新网络中的device_token
服务请求。