I needed to create a microservice for manage communications in my app, emails, SMS, and notifications with FCM.

So I decided to create a lib in for FCM for use en my app, Source.

Example:

package main
import (
"log"
"github.com/douglasmakey/go-fcm"
)
func main() {
// init client
client := fcm.NewClient("ApiKey")

// You can use your HTTPClient
//client.SetHTTPClient(client)

data := map[string]interface{}{
"message": "From Go-FCM",
"details": map[string]string{
"name": "Name",
"user": "Admin",
"thing": "none",
},
}

// You can use PushMultiple or PushSingle
client.PushMultiple([]string{"token 1", "token 2"}, data)
//client.PushSingle("token 1", data)

// registrationIds remove and return map of invalid tokens
badRegistrations := client.CleanRegistrationIds()
log.Println(badRegistrations)

status, err := client.Send()
if err != nil {
log.Fatalf("error: %v", err)
}

log.Println(status.Results)
}
One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.