Как получить облачные сообщения Firebase внутри приложения, а не Push-уведомления - PullRequest
0 голосов
/ 08 июня 2018

У меня есть приложение для Android с работающими облачными сообщениями Firebase, каждый раз, когда приходит новое сообщение, появляется Push-уведомление.Мне не нужно это push-уведомление. Я хочу просмотреть это уведомление внутри приложения, как и во многих социальных приложениях, таких как Facebook.Я реализовал счетчик уведомлений, но как добавить вид, подобный этому?

enter image description here

Я искал это с завтрашнего дня, но я не получил свойответ, есть ли возможность получать сообщения Firebase внутри моего приложения для Android?

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Мы сделали что-то подобное, используя Firebase RTDB , FCM и облачные функции.По сути, идея заключается в том, что вы добавляете данные в БД под узлом, соответствующим пользователю, например:

/notifications
  /$userId
    /$notificationId
      /detail1:..
      /detail2:..

Затем реализует Триггер базы данных для запуска Push-уведомления,Однако вам нужно, чтобы не отправлял push-уведомления , поэтому вы можете пропустить часть FCM и Cloud Functions.Просто сосредоточьтесь на использовании Firebase RTDB.

Это лучший подход, который я могу придумать, чтобы выбрать желаемое поведение.Но если ваша цель состоит в том, чтобы просто перехватить уведомление, вам придется реализовать data -только полезную нагрузку для FCM, а затем в onMessageReceived() сохранить детали сообщения где-нибудь, где ваше приложение может впоследствии получить.

0 голосов
/ 08 июня 2018

Попробуйте

import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;

public final class MyFirebaseMessagingService extends FirebaseMessagingService {
    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        super.onMessageReceived(remoteMessage);
        //storage messages here
    }
}

И затем на вашем AndroidManifest.xml

 <service android:name=".MyFirebaseMessagingService">
 <intent-filter>
     <action android:name="com.google.firebase.MESSAGING_EVENT" />
 </intent-filter>

О FirebaseMessagingService

Расширение этого класса требуется, чтобы иметь возможность обрабатывать последующие сообщения.Он также обеспечивает функциональность для автоматического отображения уведомлений и имеет методы, которые вызываются для предоставления статуса вышестоящих сообщений.

Переопределяет методы базового класса для обработки любых событий, требуемых приложением.Методы вызываются в фоновом потоке.

...