使用Golang FCM服务器如何发送FCM推送通知

6

我正在开发Ionic应用程序,使用Cordova fcm插件来获取设备标记。现在我想从go服务器发送推送通知。如何将go用作fcm服务器?我需要一些实现示例。

2个回答

5
    package main

    import (
        "fmt"
        "github.com/NaySoftware/go-fcm"
    )

    const (
         serverKey = "YOUR-KEY"
    )

    func main() {

  var NP fcm.NotificationPayload 
   NP.Title="hello"
   NP.Body="world"

        data := map[string]string{
            "msg": "Hello World1",
            "sum": "Happy Day",
        }

      ids := []string{
          "token1",
      }


      xds := []string{
          "token5",
          "token6",
          "token7",
      }

        c := fcm.NewFcmClient(serverKey)
        c.NewFcmRegIdsMsg(ids, data)
        c.AppendDevices(xds)
        c.SetNotificationPayload(&NP)
        status, err := c.Send()
        if err == nil {
        status.PrintResults()
        } else {
            fmt.Println(err)`enter code here`
        }

    }

试试这个,很酷。


@solomon abel 如果我们想要为通知添加声音怎么办? - sarvesh chavan

3

你的问题比较模糊,你本可以通过简单地谷歌搜索 fcm golang 或类似的内容来回答它。基本上这里是一个库列表:

https://golanglibs.com/top?q=firebase

看起来大部分都有一些示例和文档。 一般来说,我会选择最受欢迎的:

https://github.com/zabawaba99/firego

因为你可以从Github问题中获得灵感,而文档也相当不错。

https://godoc.org/gopkg.in/zabawaba99/firego.v1

小提示:如果某个 Go 库似乎缺乏示例/文档,请在该文件夹中运行 godocs(甚至更快的方法是)尝试首先在 GitHub 页面上查找 GoDocs 链接。


哎呀,我正在苦苦挣扎于有效载荷的问题...我的意思是你知道如何设置一些用户定义的有效载荷吗?因为 Firebase 需要两个键“notification”和“data”...虽然我是 GO 的新手,但我已经在这里为 PHP 制作了类似的东西(https://gist.github.com/KishanIos007/e9064cd5e553ab507805dbcf0d713a18)...我想在 GO 中使用同样的有效载荷...你能帮我吗 :) - Kishan Oza

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接