Firebase Cloud Messaging

0

https://firebase.google.com/docs/cloud-messaging/server

nic nie widze. nie widze jak uruchomic ten serwer, nie widze jak wybrac do ktorego uzytkownika ma byc wyslana wiadomosc. jedynie widze, jak pobrac token i jak zainstalowac firebase cloud messenger i wysylac wiadomosci do wszystkich

0

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

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.

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?

0

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

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

0

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

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
                })
            })
        })
    })
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ć?

0

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

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