Firebase Cloud Messaging

Odpowiedz Nowy wątek
2020-02-17 21:20

Rejestracja: 1 rok temu

Ostatnio: 3 miesiące temu

0

Może ma ktoś doświadczenie z Firebase Cloud Messaging? Jakby ktoś pokrótce opisał jak to działa. Chciałbym zrobić wysyłanie powiadomień do użytkowników o konkretnym id z poziomu admina w aplikacji. Póki co udało mi się wysłać proste powiadomienia z managera firebase do każdego kto używa aplikacji, ale to nie o to chodzi.

Pozostało 580 znaków

2020-02-18 18:53

Rejestracja: 8 miesięcy temu

Ostatnio: 1 godzina temu

0

Ale jaki serwer? Wysyłasz jsona albo używasz api.

Pozostało 580 znaków

2020-02-18 18:55

Rejestracja: 1 rok temu

Ostatnio: 3 miesiące temu

0

nie wiem, nie rozumiem nic z tego. pobralem node.js nie wiem jak to wlaczyc, nie wiem co tam uruchomic, nie wiem jak to ma dzialac. nic w dokumentacji nie ma. z tutorialu w internecie wrzucam funkcje do firebase przez cmd, ale oczywiscie pokazuje, ze je zaladowali i nic tam nie ma.

Pozostało 580 znaków

2020-02-18 18:56

Rejestracja: 8 miesięcy temu

Ostatnio: 1 godzina temu

0

Wszystko jest opisane:
https://firebase.google.com/docs/cloud-messaging/send-message
https://firebase.google.com/d[...]oud-messaging/concept-options

Sorry jak nie umiesz nawet przeczytać dokumentacji, to wiele nie osiągniesz. Masz nawet przykład gotowej aplikacji na Githubie od Google, źródła, komentarze, tutoriale. O co ci chodzi?

edytowany 1x, ostatnio: Meini, 2020-02-18 18:59

Pozostało 580 znaków

2020-02-18 19:00

Rejestracja: 1 rok temu

Ostatnio: 3 miesiące temu

0

dalej nie widzę jak włączyć ten node.js, jak zrobić z niego serwer i gdzie wrzucić ten kod co tam podali

Pozostało 580 znaków

2020-02-18 19:07

Rejestracja: 8 miesięcy temu

Ostatnio: 1 godzina temu

0

Oj chyba prosisz się o dział "Perełki"? Najpierw odpowiedz sobie kto i gdzie ma generować powiadomienie, jeżeli masz jakiś serwer jako backend to logiczne, że to tam ma być

A co do api w js/NodeJS to też masz wszystko opisane jak krowie na rowie:
https://firebase.google.com/docs/admin/setup i przykłady pełnego kodu na Githubie. SDK możesz odpalić na serwerach Firebase

No sorry, jak nie umiesz nawet otworzyć dokumentacji, to ja ci nie będę linkować wszystkiego po kolei, wróć jak zrozumiesz co chcesz zrobić i wróć z konkretnym problemem

edytowany 3x, ostatnio: Meini, 2020-02-18 19:11

Pozostało 580 znaków

2020-02-18 19:25

Rejestracja: 1 rok temu

Ostatnio: 3 miesiące temu

0

edit.
mój błąd. idzie powoli do przodu. dzięki kolego za uwagę :)

edytowany 2x, ostatnio: Cygarro, 2020-02-18 19:29

Pozostało 580 znaków

2020-02-18 21:11

Rejestracja: 1 rok temu

Ostatnio: 3 miesiące temu

0

Mam wgrana funkcje do wiadomosci z utorialu na yt. siedzi ona w firebase i jak teraz wyslac jakas wiadomosc

const functions = require('firebase-functions');

const admin = require('firebase-admin');
admin.initializeApp();

exports.notifyNewMessage = functions.firestore
    .document('chatChannels/{channel}/messages/{message}')
    .onCreate((docSnapshot, context) => {
        const message = docSnapshot.data();
        const recipientId = message['recipientId'];
        const senderName = message['senderName'];

        return admin.firestore().doc('users/' + recipientId).get().then(userDoc => {
            const registrationTokens = userDoc.get('registrationTokens')

            const notificationBody = (message['type'] === "TEXT") ? message['text'] : "You received a new image message."
            const payload = {
                notification: {
                    title: senderName + " sent you a message.",
                    body: notificationBody,
                    clickAction: "ChatActivity"
                },
                data: {
                    USER_NAME: senderName,
                    USER_ID: message['senderId']
                }
            }

            return admin.messaging().sendToDevice(registrationTokens, payload).then( response => {
                const stillRegisteredTokens = registrationTokens

                response.results.forEach((result, index) => {
                    const error = result.error
                    if (error) {
                        const failedRegistrationToken = registrationTokens[index]
                        console.error('blah', failedRegistrationToken, error)
                        if (error.code === 'messaging/invalid-registration-token'
                            || error.code === 'messaging/registration-token-not-registered') {
                                const failedIndex = stillRegisteredTokens.indexOf(failedRegistrationToken)
                                if (failedIndex > -1) {
                                    stillRegisteredTokens.splice(failedIndex, 1)
                                }
                            }
                    }
                })

                return admin.firestore().doc("users/" + recipientId).update({
                    registrationTokens: stillRegisteredTokens
                })
            })
        })
    })

Pozostało 580 znaków

2020-02-18 21:19

Rejestracja: 1 rok temu

Ostatnio: 3 miesiące temu

0

Dokumentacja pokazuje jak w kotlinie pobrać token użytkownika, a w następnym podpunkcie jakieś kody do node.js jak ja to mam w ogóle uruchomić i gdzie to wrzucić?

Pozostało 580 znaków

2020-02-19 09:55

Rejestracja: 4 lata temu

Ostatnio: 1 godzina temu

0

Miałem Ci wysłać całe rozwiązanie ale mi sie odechciało - powodzenia.

edytowany 1x, ostatnio: Narror, 2020-02-19 09:55

Pozostało 580 znaków

2020-02-19 11:17

Rejestracja: 1 rok temu

Ostatnio: 3 miesiące temu

0

4 dzien nie wiem jak to zrobic. beka kod w kotlinie ktory dziala, a za chwile jakies node.js i zero wyjasnienia co z tym

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0