Discover Packages
github.com/tinode/chat
server
push
fcm
package
Version:
v0.16.8-rc2
Opens a new window with list of versions in this module.
Published: Oct 7, 2020
License: GPL-3.0
Opens a new window with license information.
Imports: 14
Opens a new window with list of imports.
Imported by: 5
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
DevicesForUser loads device IDs of the given user.
type AndroidConfig struct {
Enabled bool `json:"enabled,omitempty"`
Msg androidPayload `json:"msg,omitempty"`
Sub androidPayload `json:"sub,omitempty"`
}
AndroidConfig is the configuration of AndroidNotification payload.
Handler represents the push handler; implements push.PushHandler interface.
func (Handler) Channel ¶
added in
v0.16.8
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
MessageData adds user ID and device token to push message. This is needed for error handling.
PrepareNotifications creates notification payloads ready to be posted
to push notification server for the provided receipt.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.