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.

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)
}
Enter fullscreen mode Exit fullscreen mode

the source

Latest comments (3)

Collapse
 
tyagip966 profile image
tyagip966

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

Thank You

Collapse
 
tranphuoctien profile image
Tran Tien

Omg! How to you can check each sent success?

Collapse
 
ridwankustanto profile image
Ridwan Kustanto

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