在使用极光推送、短信或统一消息服务时,是否希望有一款轻量、易用且全面支持服务端 REST API 的 Go 语言 SDK?jiguang-sdk-go 正是为此而生的,它能帮助 Go 开发者快速集成极光服务,让消息发送更简单、更高效。
📦 jiguang-sdk-go 是什么?
jiguang-sdk-go 是一个基于 Go 语言封装的极光 REST API SDK,参考了极光官方的 Java 版本实现,支持极光推送(JPush)、极光短信(JSMS)和极光统一消息(JUMS)三大模块,适配 Go 1.16 及以上版本,帮助开发者轻松对接极光服务。
✨ 主要特性
- ✅ 全面支持:极光推送、短信、统一消息 REST API 完整覆盖。
- ✅ 简单易用:封装清晰的 Go 接口,极简代码实现复杂功能。
- ✅ 高效稳定:轻量封装,性能优越,适配最新 Go 版本。
📖 支持的 API 模块
- 极光推送(JPush)
- 应用管理、设备标签、推送、分组推送、定时任务、推送统计等。
- 极光短信(JSMS v1)
- 短信签名、短信模板、短信发送、短信回执、余量查询、回调接口等。
- 极光统一消息(JUMS v1)
- 消息发送、消息撤回、用户管理、素材管理、通道 Token、回调接口等。
🚀 快速开始
1️⃣ 安装 SDK
go get github.com/calvinit/jiguang-sdk-go@latest
2️⃣ 使用示例
下面是一个极光推送的简单示例,发送一条广播通知消息:
package main
import (
"context"
"fmt"
"os"
"github.com/calvinit/jiguang-sdk-go/api/jpush/device/platform"
"github.com/calvinit/jiguang-sdk-go/api/jpush/push"
)
func main() {
pushAPIv3, _ := push.NewAPIv3Builder().
SetAppKey(os.Getenv("JPUSH_APP_KEY")).
SetMasterSecret(os.Getenv("JPUSH_MASTER_SECRET")).
Build()
param := &push.SendParam{
Platform: platform.All,
Audience: push.BroadcastAuds,
Notification: &push.Notification{
Alert: "Hello, JPush!",
},
}
result, err := pushAPIv3.Send(context.Background(), param)
if err != nil {
panic(err)
}
if result.IsSuccess() {
fmt.Printf("Send success, MsgID: %s, SendNo: %s\n", result.MsgID, result.SendNo)
} else {
fmt.Printf("Send failed: %s\n", result.Error)
}
}
更多示例代码 👉 examples 目录
📢 为什么选择 jiguang-sdk-go?
- 🛠️ 轻量封装,减少复杂性,简化极光服务的 Go 语言集成。
- 📊 全面 API 支持,覆盖 JPush、JSMS、JUMS 三大核心服务。
- 📚 清晰文档,提供完善的代码示例,快速上手。
- 🤝 持续维护,开源项目,接受社区贡献,及时更新。
🤝 贡献指南
欢迎任何形式的贡献!
- 如果发现问题,欢迎在 Issues 中提交。
- 提交代码贡献,请遵循 Git Hooks 规范,确保代码质量。
设置 Git Hooks(代码质量检查)
ln -s ../../.githooks/pre-push .git/hooks/pre-push
chmod +x .githooks/pre-push
📜 许可证
本项目采用 Apache 2.0 许可证,欢迎使用和贡献。
🎉 立即体验 jiguang-sdk-go
不要再为集成极光服务端 REST API 而烦恼,使用 jiguang-sdk-go,让 Go 语言的推送、短信、统一消息集成更简单!
👉 GitHub 项目地址 欢迎 Star ⭐,让更多开发者受益!