gpush

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 31, 2024 License: Apache-2.0 Imports: 11 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIv3

type APIv3 interface {

	// 分组推送
	//  - 功能说明:该 API 用于为开发者在 portal 端创建的应用分组创建推送。
	//	- 调用地址:POST `/v3/grouppush`
	//  - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push_grouppush
	// 注意:暂不支持 Options 中 OverrideMsgID 的属性;分组推送仅在官网支持设置定时,调 Schedule API 时不支持。
	Send(ctx context.Context, param *SendParam) (*SendResult, error)

	// 分组文件推送(VIP)
	//  - 功能说明:该 API 用于为开发者在 portal 端创建的应用分组进行文件推送,推送参数和格式跟文件推送一样。
	//	- 调用地址:POST `/v3/grouppush/file`
	//  - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push_advanced#%E5%BA%94%E7%94%A8%E5%88%86%E7%BB%84%E6%96%87%E4%BB%B6%E6%8E%A8%E9%80%81-api%EF%BC%88vip%EF%BC%89
	// 注意事项:
	//  - 此接口只对已经开通权限对客户支持,未开通权限客户使用将会返回错误返回码 2007。
	//  - 调用文件上传接口获取 fileID 时,需要使用 devKey 和 devSecret 进行验证,详情参考【文件上传接口】:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_file#%E8%B0%83%E7%94%A8%E9%AA%8C%E8%AF%81-1
	SendByFile(ctx context.Context, param *SendParam) (*SendResult, error)

	// 自定义分组推送:如果遇到 Send 接口没有及时补充字段的情况,可以自行构建 JSON,调用此接口。
	CustomSend(ctx context.Context, param interface{}) (*SendResult, error)

	// 自定义分组文件推送:如果遇到 SendByFile 接口没有及时补充字段的情况,可以自行构建 JSON,调用此接口。
	CustomSendByFile(ctx context.Context, param interface{}) (*SendResult, error)
	// contains filtered or unexported methods
}

Group Push API v3【极光推送 > REST API > 推送 API > 分组推送 API】

type APIv3Builder

type APIv3Builder struct {
	// contains filtered or unexported fields
}

用于构建和配置 Group Push API v3 访问客户端的构建器。

func NewAPIv3Builder

func NewAPIv3Builder() *APIv3Builder

func (*APIv3Builder) Build

func (b *APIv3Builder) Build() (APIv3, error)

func (*APIv3Builder) DisableHttpLogging

func (b *APIv3Builder) DisableHttpLogging() *APIv3Builder

【可选】禁用 API 的 HTTP 日志记录,即不记录 API 的 HTTP 请求和响应的日志信息。

func (*APIv3Builder) SetClient

func (b *APIv3Builder) SetClient(client api.Client) *APIv3Builder

【可选】设置 API 的客户端,用于发送 HTTP 请求,默认值为 api.DefaultClient。

func (*APIv3Builder) SetDevKey

func (b *APIv3Builder) SetDevKey(devKey string) *APIv3Builder

【可选】设置 API 的开发者标识。

func (*APIv3Builder) SetDevSecret

func (b *APIv3Builder) SetDevSecret(devSecret string) *APIv3Builder

【可选】设置 API 的开发者密钥。

func (*APIv3Builder) SetGroupKey

func (b *APIv3Builder) SetGroupKey(groupKey string) *APIv3Builder

【必填】设置 API 的应用分组标识。

func (*APIv3Builder) SetGroupMasterSecret

func (b *APIv3Builder) SetGroupMasterSecret(groupMasterSecret string) *APIv3Builder

【必填】设置 API 的应用分组主密钥。

func (*APIv3Builder) SetHost

func (b *APIv3Builder) SetHost(host string) *APIv3Builder

【可选】设置 API 的 Host 基础 URL,默认值为 api.HostJPushPushV3。

func (*APIv3Builder) SetHttpLogLevel

func (b *APIv3Builder) SetHttpLogLevel(httpLogLevel api.HttpLogLevel) *APIv3Builder

【可选】设置 API 的 HTTP 日志记录级别,用于指定记录 API 的 HTTP 请求和响应的日志信息的详细程度,默认值为 api.HttpLogLevelBasic。

  • 可用的级别:api.HttpLogLevelNone、api.HttpLogLevelBasic、api.HttpLogLevelHeaders、api.HttpLogLevelFull;
  • 若要禁用 HTTP 日志记录,可使用 DisableHttpLogging。

func (*APIv3Builder) SetLogger

func (b *APIv3Builder) SetLogger(logger jiguang.Logger) *APIv3Builder

【可选】设置 API 的日志记录器,默认值为 api.DefaultLogger。

type SendError

type SendError struct {
	api.CodeError
	IllegalRIDs []string `json:"illegal_rids,omitempty"` // 非法 Registration ID 集合
}

推送失败错误

func (*SendError) Error

func (e *SendError) Error() string

func (*SendError) String

func (e *SendError) String() string

type SendParam

type SendParam = push.SendParam

type SendResult

type SendResult struct {
	*api.Response `json:"-"`
	Error         *api.CodeError         `json:"error,omitempty"`
	GroupMsgID    string                 `json:"group_msgid,omitempty"` // 分组推送消息 ID,用于唯一标识本次分组推送请求,后续可用于分组推送统计。2020.08.11 新增
	Successes     map[string]SendSuccess `json:"-"`                     // 推送成功集合
	Errors        map[string]SendError   `json:"-"`                     // 推送失败错误集合
}

func (*SendResult) IsSuccess

func (rs *SendResult) IsSuccess() bool

func (SendResult) MarshalJSON

func (rs SendResult) MarshalJSON() ([]byte, error)

func (*SendResult) UnmarshalJSON

func (rs *SendResult) UnmarshalJSON(data []byte) error

type SendSuccess

type SendSuccess struct {
	MsgID  string `json:"msg_id,omitempty"` // 推送消息 ID
	SendNo string `json:"sendno,omitempty"` // 推送序号
}

推送成功

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL