Вы должны использовать данные полезной нагрузки для отображения уведомлений, когда приложение находится в фоновом режиме. Отправьте URL-адрес изображения в виде данных и загрузите его на свой мобильный телефон перед отображением. Примерно так:
public void showImageNotification(RemoteMessage remoteMessage){
if (remoteMessage.getData().size() > 0) {
Map<String, String> messageData = remoteMessage.getData();
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context, CHANNEL_ID)
.setContentText(messageData.get("text"))
.setContentTitle(messageData.get("title"))
.setSmallIcon(R.drawable.localplay_logo_notification)
.setColorized(true)
.setAutoCancel(true)
.setContentIntent(pendingIntent);
if (messageData.containsKey("image")) {
Bitmap bitmap = getBitmapFromURL(messageData.get("image"));
if (bitmap != null) {
notificationBuilder.setLargeIcon(bitmap);
notificationBuilder.setStyle(new NotificationCompat.BigPictureStyle().bigPicture(bitmap));
}
}
notificationManager.notify(121, notificationBuilder.build());
}
}
public Bitmap getBitmapFromURL(String strURL) {
try {
URL url = new URL(strURL);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
return BitmapFactory.decodeStream(input);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}