簡體   English   中英

應用程序在后台(模擬器)時,Firebase推送通知未顯示

[英]Firebase push notifications not showing up while app is in background (Emulator)

我將Firebase推送通知從Firebase控制台發送到一個Android設備。 當應用程序在前台運行時,此方法效果很好。 我收到事件並調用onMessageReceived()。 當應用程序在后台運行時,我希望看到一個通知條目顯示在模擬器的系統通知托盤中。 相反,我收到以下錯誤,並且設備上沒有彈出通知。 我的消息非常簡單,只是消息文本和FCM令牌。

更新:這似乎是模擬器問題,因為它在實際設備上正在運行。

com.google.android.gms.persistent D / GCM:在將Dot.a處java.lang.reflect.Method.invoke(本機方法)處的java.lang.reflect.InvocationTargetException喚醒時將應用列入白名單的錯誤(源文件:49473)在ott.c(SourceFile:1366)在otn.b(SourceFile:638)在ahge.a(SourceFile:998)在ahgf.run(SourceFile:1070)在java.lang.Thread.run(Thread.java:818) )由以下原因引起:java.lang.SecurityException:android.os.Parcel.readException(Parcel.java:1552)上的android.os.Parcel.readException(Parcel.java:1599)上的調用應用不在白名單上.ottage的.usage.IUsageStatsManager $ Stub $ Proxy.whitelistAppTemporarily(IUsageStatsManager.java:293)在android.app.usage.UsageStatsManager.whitelistAppTemporarily(UsageStatsManager.java:266)在java.lang.reflect.Method.invoke(本機方法) .a(SourceFile:49473)位於ott.c(SourceFile:1366)在otn.b(SourceFile:638)在ahge.a(SourceFile:998)在ahgf.run(SourceFile:1070)在java.lang.Thread。運行(Thread.java:818)

應該使用GCM高優先級消息喚醒應用程序並訪問網絡。 高優先級GCM消息示例:-

{
  "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
  "priority" : "high",
   "notification" : {
    "body" : "This week’s edition is now available.",
    "title" : "NewsMagazine.com",
    "icon" : "new",
  },
  "data" : {
    "volume" : "3.21.15",
    "contents" : "http://www.news-magazine.com/world-week/21659772"
  }
}

看到“優先級”鍵的值為“高”,這將喚醒設備,並且gcm消息將立即發送,並且不會崩潰。

查看此以獲取更多信息https://developer.android.com/training/monitoring-device-state/doze-standby.html#whitelisting-cases

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM