DEV Community

Douglas Makey Mendez Molero
Douglas Makey Mendez Molero

Posted on

Firebase Cloud Messaging with Golang

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.


package main
import (
func main() {
    // init client
    client := fcm.NewClient("ApiKey")

    // You can use your HTTPClient 

    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()

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

Enter fullscreen mode Exit fullscreen mode

the source

Top comments (3)

tranphuoctien profile image
Tran Tien

Omg! How to you can check each sent success?

ridwankustanto profile image
Ridwan Kustanto

Yea, how can we know? Should I make android app first to able check it?

tyagip966 profile image

I want to push notification over web (web app).
Then how can i check ?
Is there any log created inside firebase ?

Thank You