DEV Community

loading...

Firebase Cloud Messaging with Golang

douglasmakey profile image Douglas Makey Mendez Molero ・1 min read

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

Discussion (3)

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?

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

Forem Open with the Forem app