Discover Packages
github.com/i3vnode/i3v-chat
server
push
fcm
package
Version:
v0.20.5
Opens a new window with list of versions in this module.
Published: Dec 19, 2022
License: GPL-3.0
Opens a new window with license information.
Imports: 17
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
README
¶
FCM push adapter
This adapter sends push notifications to mobile clients and web browsers using Google FCM . As of the time of this writing it supports Android with Play Services , iOS devices, and all major web browsers excluding Safari .
This adapter requires you to obtain your own credentials from Goole Firebase. If you want to use iOS and Android mobile apps with your service, they must be recompiled with your credentials obtained from Google. If you do not want to recompile mobile clients, consider using TNPG adapter instead.
Configuring FCM adapter
Server and TinodeWeb
Create a project at https://firebase.google.com/ if you have not done so already.
Follow instructions at https://cloud.google.com/iam/docs/creating-managing-service-account-keys to download the credentials file.
Update the server config tinode.conf
, section "push"
-> "name": "fcm"
. Do ONE of the following:
Either enter the path to the downloaded credentials file into "credentials_file"
.
OR copy the file contents to "credentials"
.
Remove the other entry. I.e. if you have updated "credentials_file"
, remove "credentials"
and vice versa.
Update TinodeWeb config firebase-init.js
: update apiKey
, messagingSenderId
, projectId
, appId
, messagingVapidKey
. See more info at https://github.com/tinode/webapp/#push_notifications
iOS and Android
If you are using an Android client, add google-services.json
to Tindroid by following instructions at https://developers.google.com/android/guides/google-services-plugin and recompile the client. You may also optionally submit it to Google Play Store.
See more info at https://github.com/tinode/tindroid/#push_notifications
If you are using an iOS client, add GoogleService-Info.plist
to Tinodios by following instructions at https://firebase.google.com/docs/cloud-messaging/ios/client ) and recompile the client. You may optionally submit the app to Apple AppStore.
See more info at https://github.com/tinode/ios/#push_notifications
Expand ▾
Collapse ▴
Documentation
¶
Package fcm implements push notification plugin for Google FCM backend.
Push notifications for Android, iOS and web clients are sent through Google's Firebase Cloud Messaging service.
Package fcm is push notification plugin using Google FCM.
https://firebase.google.com/docs/cloud-messaging
ChannelsForUser loads user's channel subscriptions with P permission.
DevicesForUser loads device IDs of the given user.
PrepareV1Notifications creates notification payloads ready to be posted
to push notification server for the provided receipt.
Handler represents the push handler; implements push.PushHandler interface.
Channel returns a channel for subscribing/unsubscribing devices to FCM topics.
func (Handler) Init ¶
Init initializes the push handler
IsReady checks if the push handler has been initialized.
func (Handler) Push ¶
Push returns a channel that the server will use to send messages to.
If the adapter blocks, the message will be dropped.
func (Handler) Stop ¶
Stop shuts down the handler
Source Files
¶
Click to show internal directories.
Click to hide internal directories.