go-fcm
This project was forked from github.com/edganiukov/fcm.
Golang client library for Firebase Cloud Messaging. Implemented only HTTP client.
More information on Firebase Cloud Messaging
Feature
- Send messages to a topic
- Send messages to a device list
- Supports condition attribute (fcm only)
Getting Started
To install fcm, use go get
:
go get github.com/appleboy/go-fcm
or govendor
:
govendor fetch github.com/appleboy/go-fcm
or other tool for vendoring.
Sample Usage
Here is a simple example illustrating how to use FCM library:
package main
import (
"log"
"github.com/appleboy/go-fcm"
)
func main() {
// Create the message to be sent.
msg := &fcm.Message{
To: "sample_device_token",
Data: map[string]interface{}{
"foo": "bar",
},
Notification: &fcm.Notification{
Title: "title",
Body: "body",
},
}
// Create a FCM client to send the message.
client, err := fcm.NewClient("sample_api_key")
if err != nil {
log.Fatalln(err)
}
// Send the message and receive the response without retries.
response, err := client.Send(msg)
if err != nil {
log.Fatalln(err)
}
log.Printf("%#v\n", response)
}