Привет! Я пытаюсь отправить уведомления на устройство Android.
Я использую этот плагин CrossGeeks / PushNotificationPlugin . Я создал проект firebase и извлек параметры для использования в webapi, которые я сделал с . NET Core MVC 3.1 . Когда я отправляю уведомление, точка останова на событии корректно срабатывает
CrossPushNotification.Current.OnNotificationReceived + = (s, p) =>
Однако на моем устройстве уведомление не отображается. Если, с другой стороны, я использую консоль firebase для отправки уведомления, оно отображается правильно как с неактивным приложением, так и с приложением переднего плана.
По этой причине, поскольку мое клиентское приложение правильно получает уведомления от firebase, Я думаю, что проблема на стороне сервера. Это мой код:
[HttpPost, Route("Prova")]
public async Task<IActionResult> SendNotication()
{
try
{
var notification = new GoogleNotification();
notification.Data = new GoogleNotification.DataPayload();
notification.Data.Title = "Title";
notification.Data.Body = "bla bla";
using (var fcm = new FcmSender("xxxxxx", "yyyyy"))
{
await fcm.SendAsync("hhhhhhh", notification);
}
return Ok("Done");
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
public class GoogleNotification
{
public class DataPayload
{
[JsonProperty("title")]
public string Title { get; set; }
// Add your custom properties as needed
[JsonProperty("body")]
public string Body { get; set; }
[JsonProperty("tag")]
public string Tag { get; set; }
}
//[JsonProperty("priority")]
//public string Priority { get; set; } = "high";
[JsonProperty("data")]
public DataPayload Data { get; set; }
}
У меня есть сомнения по поводу класса GoogleNotification
, как вы думаете, это правильно?
Я пытался через консоль chrome понять json который генерирует консоль Firebase. на самом деле он сильно отличается от моего кода
{
"basics": {},
"productAction": {
"notificationAction": {
"campaignId": "1581564767326567420",
"messageText": "ciao",
"campaignStatus": "STATUS_ENQUEUED",
"displayParameters": {
"title": "Titolo",
"priority": "HIGH"
},
"registrationIds": [
"dcdsdsffds"
],
"expiryTime": "2419200s",
"lastUpdateTime": "2020-01-23T09:15:57.079Z"
}
}
}