All Projects → zwczou → jpush

zwczou / jpush

Licence: other
极光推送go客户端,支持定时推送,推送,设备标签别名更改等

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to jpush

ionic-jpush
基于ionic3 和 ionic-native3 的极光推送封装
Stars: ✭ 46 (+91.67%)
Mutual labels:  jpush
PushAll
PushAll让推送集成更简洁、快速
Stars: ✭ 28 (+16.67%)
Mutual labels:  jpush

极光推送Golang客户端

目前支持

  • Push API v3
  • Schedule API v3
  • Device API v3

安装

go get github.com/zwczou/jpush

使用

  1. 初始化客户端
    client := jpush.New("key", "secret")
  1. 获取推送唯一标识符 cid
    cidList, err = client.PushCid(1, "push")
  1. 推送消息
    payload := &jpush.Payload{
        Platform: jpush.NewPlatform().All(),
        Audience: jpush.NewAudience().All().SetTag("abc", "ef").SetTagAnd("filmtest"),
        Notification: &jpush.Notification{
            Alert: "test",
        },
        Options: &jpush.Options{
             TimeLive:       60,
             ApnsProduction: false,
        },
    }
    msgId, err = client.Push(payload)
    // msgId, err = client.PushValidate(payload)
  1. 创建计划任务
    client.ScheduleCreate
  1. 方便扩展

如果库没有实现你想使用的方法,可以使用client.Do扩展

// 获取任务的所有msg_id
var out struct {
  MsgIds []struct {
    MsgId string `json:"msg_id"`
  } `json:"msgids"`
}
err := client.Do(http.MethodGet, "/schedules/"+scheduleId+"/msg_ids", nil, &out)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].