Как отправлять уведомления об изменениях в базе данных firebase? - PullRequest
0 голосов
/ 01 ноября 2019

У меня есть приложение для Android, которое позволяет пользователям писать в базу данных. Я читал из последних постов о том, как вы можете прослушивать обновления данных от определенных потомков в базе данных Firebase, используя Firebase Listener и класс обслуживания. Я также слышал, однако, что это не всегда работает, когда приложение закрыто. Я также слышал о Firebase Cloud Messaging, но все примеры, которые я видел, приведены в kotlin или Javascript. Каков наилучший и наиболее эффективный способ уведомлять пользователя о любых изменениях в базе данных, учитывая, что вбазы данных в течение дня, но каждый раз, когда происходит изменение, старое уведомление заменяется. Обратите внимание, что я хочу получать уведомления только тогда, когда в дочернем элементе происходят изменения, скажем, child "general_messages", как я могу отправлять уведомления пользователям, скажем, например, уведомление "новое изменение, войдите в систему" всякий раз, когда происходит изменениев этом ребенке, даже если данные не касаются конкретного пользователя? Я совершенно новичок в пожарной части, пожалуйста, дайте соответствующую помощь или направление

Ответы [ 2 ]

0 голосов
/ 01 ноября 2019

Насколько я понимаю, ваше требование состоит в том, чтобы отправить уведомление на устройство, когда данные изменяются в серверной базе данных ДАЖЕ, если приложение не запущено на пользовательском устройстве.

Поскольку на устройстве не запущено программное обеспечениевам нужно отправить уведомление (используя FCM) из бэкэнда - когда телефон получает уведомление, приложение запускается, и вы можете обработать то, что вам нужно в приложении.

Как правило, это реализуется с использованием следующей логики1. Когда приложение подключено, оно сохраняет интересующие его данные и токен FCM для представления этого устройства где-то в базе данных firebase. 2. Вы создаете облачную функцию firebase, которая запускается при изменении определенных областей базы данных. 3. Эта функция смотрит на то, что изменилось;сравнивает его с данными, созданными в (1), и отправляет уведомление каждому токену устройства, которому он необходим.

Уведомление на шаге 3 может быть уведомлением «пользователя», которое появляется в строке состояния и может бытьНажмите ect, чтобы взаимодействовать с приложением ИЛИ он может замолчать и просто запустить приложение для обработки в фоновом режиме.

0 голосов
/ 01 ноября 2019

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

Шаг 1: запись в базу данных

Извлеките экземпляр вашей базы данных, используя getInstance() и укажите место, куда вы хотите записать.

// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");

myRef.setValue("Hello, World!");

Шаг 2: Чтение из вашей базы данных

Для обновления данных вашего приложения в реальном времени необходимо добавить ValueEventListener к только что созданной ссылке.

Метод onDataChange() в этом классе вызывается один раз, когда подключается слушатель. и снова каждый раз, когда изменяются данные, включая дочерние.

// Read from the database
myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        // This method is called once with the initial value and again
        // whenever data at this location is updated.
        String value = dataSnapshot.getValue(String.class);
        Log.d(TAG, "Value is: " + value);
    }

    @Override
    public void onCancelled(DatabaseError error) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException());
    }
});

Примечание. В вашем классе Firebase Notification, который расширяет службу FirebaseMessagingService, вы можете публиковать тихий push и обрабатывать этот тихий push, что бы вы ни хотели сделать вваше приложение.

Как отправить push-уведомление из firebase

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...