我正在使用下面的通知负载,并使用Postman向Android设备发送推送通知:
{
"to" : "/topics/xxxx" ,
"data" : {
"url" : "https://res.cloudinary.com/demo/image/upload/w_200/lady.jpg",
"dl" : ""
},
"notification" : {
"title" : "This is a sample notification from general2",
"body" : "Rich notification testing (body)",
"image": "https://res.cloudinary.com/demo/image/upload/w_200/lady.jpg"
}
}
我已经使用image
键值对在推送通知中包含了一个图像。
但这是它在手机上显示的内容:
正如您所看到的,图像没有显示。可能是什么问题?
6条答案
按热度按时间ki1q1bka1#
我发现问题出在激进的节电器上。例如小米和三星(特别是Android 11)手机将限制FCM进行后台联网(以获取图像),因此,图像将丢失。这只会发生在手机处于深度睡眠状态时。如果不是(并且您的应用程序已关闭或处于后台),图像将显示。如果应用程序处于前台,将调用
onMessageReceived()
,无论如何您都需要手动获取图像,它不会受到手机的限制。遗憾的是,我没有找到任何解决办法,除了用户手动禁用您的应用的电池节省:/
fruv7luv2#
简而言之上传图像到一个流行的图像托管网站,并把该链接通知图像网址为我工作。还检查图像大小我使用(1000 × 500像素)
扩展我也面临同样的问题,但创建MyFirebaseMessagingService没有帮助。我试图从自己的主机加载图像,如(https://www.example.com/image/img.png)。虽然它是https和firebase控制台显示图像,但在实际设备上它没有显示。
对我来说,上传图像到imggur.com或把它放在firbase存储器中,并使用该链接进行通知,无需任何额外的消息服务代码。
hts6caw33#
此代码可能会有所帮助
sd2nnvve4#
你必须自己处理图像的接收,就像官方文档的最后一行说的:如图所示设置了通知后,此发送请求使接收客户端能够处理在有效负载中传递的图像。Firesebase official documentation
zxlwwiss5#
2021年工作溶液:
yvgpqqbh6#
检查你的图像大小,主要是如果你喜欢使用小于或等于1 MB的图像,主要是你的问题会得到解决,我试过了,在小米设备中工作。