Уведомление FCM, когда приложение убито - PullRequest
0 голосов
/ 02 мая 2018

Хотя это повторяющийся вопрос, все же я не получил точного ответа на это.

Я пытаюсь сделать это на устройстве Pixel 2.

  • Когда приложение находится на переднем плане / в фоне - Получение уведомления
  • когда приложение выполняется из фонового стека, появляется сообщение «Мое приложение остановлено»
  • Следующим, если я попытаюсь получить уведомление, будет уведомление. Также не получено остановленное диалоговое окно.
    Если какая-либо ссылка от Google, пожалуйста, дайте мне знать.
[Service]
[IntentFilter(new[] { "com.google.firebase.MESSAGING_EVENT" })]
public class MyFirebaseMessagingService : FirebaseMessagingService  
{
    public override void OnMessageReceived(RemoteMessage message)
    {
        CrossCurrentActivity.Current.Activity.RunOnUiThread(() => Android.Widget.Toast.MakeText(CrossCurrentActivity.Current.Activity, "Notification received", Android.Widget.ToastLength.Long).Show());
    }

    public override void HandleIntent(Intent intent)
    {
        try
        {
            if (intent.Extras != null)
            {
                var builder = new RemoteMessage.Builder(typeof(MyFirebaseMessagingService).Name);
                foreach (string key in intent.Extras.KeySet())
                {
                    builder.AddData(key, intent.Extras.Get(key).ToString());
                }

                this.OnMessageReceived(builder.Build());
            }
            else
            {
                base.HandleIntent(intent);
            }
        }
        catch (Exception)
        {
            base.HandleIntent(intent);
        }
    }
}

Мои полезные нагрузки
Тип 1

{
"message":{
"token":"<MyDevice token>",
  "notification":{
    "body" : "Someone has escaped the jail",
    "title" : "Jail escape alert"
  }
 }
}

Тип 2

 {
 "message":{
    "token":"<My Device token>",
    "notification":{
       "body" : "Someone has escaped the jail",
       "title" : "Jail escape alert"
     },
    "data" : {
       "Eventid" : "911",
       "Longmessage" : "A super-secret message",
       "id" : "007"
     },
    "android":{
       "priority":"high"
     }
   }
 }

Для обоих я не получаю уведомления. Даже документация Firebase также предлагает то же самое. https://firebase.google.com/docs/cloud-messaging/concept-options

...