Уведомление android (FCM) - PullRequest
       12

Уведомление android (FCM)

0 голосов
/ 28 февраля 2020

Я хочу настроить макет уведомления, когда приложение закрыто и уведомление приходит, отображается уведомление по умолчанию, в котором я хочу, чтобы пользовательское уведомление отображалось, даже если приложение закрыто.

Ниже приведен мой код для Firebase onMessageReceievd

@Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        Log.d("remoteMessage",String.valueOf(remoteMessage.getFrom()));

        if (remoteMessage.getData().size() > 0) {
            Log.e("MyFirebaseMsgService", "Data Payload: " + remoteMessage.getData().toString());

            try {
                JSONObject json = new JSONObject(remoteMessage.getData().toString());
                sendPushNotificationData(json);
            } catch (Exception e) {
                Log.e("MyFirebaseMsgService", "Exception: " + e.getMessage());
            }
        }

        if (remoteMessage.getNotification() != null) {
            //Log.e(TAG, "Notification Body: " + remoteMessage.getNotification().getBody());
            sendPushNotification(String.valueOf(remoteMessage.getNotification().getBody()),String.valueOf(remoteMessage.getNotification().getTitle()));
        }
    }

Ответы [ 2 ]

0 голосов
/ 28 февраля 2020

Firebase Удаленное сообщение имеет поля notification и data. Согласно этой документации Firebase обрабатывает remoteMessage.notification автоматически и передает remoteMessage.data в преднамеренные дополнения, когда ваше приложение закрыто. Но когда ваше приложение активно, remoteMessage приходит к вашему приемнику и обрабатывается им. Но есть несколько сценариев ios, которые зависят от состояния remoteMessage. Смотрите таблицу в документации. Итак, если вы хотите обрабатывать все уведомления, даже когда ваше приложение закрыто, вам нужно поместить все свои данные в поле remoteMessage.data. В этом случае Firebase доставит удаленное сообщение прямо в ваш приемник, и вы сможете создать собственный макет с вашими данными.

0 голосов
/ 28 февраля 2020

Я использовал BitTextStyle() для добавления выделенного текста в уведомлении.

return new NotificationCompat.Builder(context)
       .setSmallIcon(R.drawable.ic_mono)
       .setContentTitle(title)
       .setContentText(message)
       .setLargeIcon(icon)
       .setColor(ContextCompat.getColor(context, R.color.notification_color))
       .setStyle(new NotificationCompat.BigTextStyle().bigText(title))
       .setStyle(new NotificationCompat.BigTextStyle().bigText(message).setSummaryText("#hashtag"))
       .setShowWhen(true)
       .setAutoCancel(true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...