Documentation ¶
Index ¶
- type APIv3
- type APIv3Builder
- func (b *APIv3Builder) Build() (APIv3, error)
- func (b *APIv3Builder) DisableHttpLogging() *APIv3Builder
- func (b *APIv3Builder) SetAppKey(appKey string) *APIv3Builder
- func (b *APIv3Builder) SetClient(client api.Client) *APIv3Builder
- func (b *APIv3Builder) SetHost(host string) *APIv3Builder
- func (b *APIv3Builder) SetHttpLogLevel(httpLogLevel api.HttpLogLevel) *APIv3Builder
- func (b *APIv3Builder) SetLogger(logger jiguang.Logger) *APIv3Builder
- func (b *APIv3Builder) SetMasterSecret(masterSecret string) *APIv3Builder
- type AliasDeleteResult
- type AliasGetData
- type AliasGetResult
- type AliasesDeleteError
- type AliasesDeleteResult
- type DeviceClearResult
- type DeviceGetResult
- type DeviceSetParam
- type DeviceSetResult
- type DeviceStatusGetResult
- type DeviceStatusResult
- type TagDeleteResult
- type TagGetResult
- type TagSetError
- type TagSetResult
- type TagsForDeviceSetParam
- type TagsGetResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIv3 ¶
type APIv3 interface { // 查询设备的标签、别名与手机号码 // - 功能说明:获取当前设备的所有属性,包含 tags、alias 与 mobile。 // - 调用地址:GET `/v3/devices/{registrationID}`,`registrationID` 为设备标识 Registration ID。 // - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device#%E6%9F%A5%E8%AF%A2%E8%AE%BE%E5%A4%87%E7%9A%84%E5%88%AB%E5%90%8D%E4%B8%8E%E6%A0%87%E7%AD%BE GetDevice(ctx context.Context, registrationID string) (*DeviceGetResult, error) // 设置设备的标签、别名与手机号码 // - 功能说明:更新当前设备的指定属性,当前支持 tags、alias 与 mobile;使用短信业务,请结合服务端【SMS_MESSAGE】字段:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push#sms_message%EF%BC%9A%E7%9F%AD%E4%BF%A1。 // - 调用地址:POST `/v3/devices/{registrationID}`,`registrationID` 为设备标识 Registration ID。 // - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device#%E8%AE%BE%E7%BD%AE%E8%AE%BE%E5%A4%87%E7%9A%84%E5%88%AB%E5%90%8D%E4%B8%8E%E6%A0%87%E7%AD%BE SetDevice(ctx context.Context, registrationID string, param *DeviceSetParam) (*DeviceSetResult, error) // 清空设备的标签 // - 功能说明:清空当前设备的 tags 属性。 // - 调用地址:POST `/v3/devices/{registrationID}`,`registrationID` 为设备标识 Registration ID。 // - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device#%E8%AE%BE%E7%BD%AE%E8%AE%BE%E5%A4%87%E7%9A%84%E5%88%AB%E5%90%8D%E4%B8%8E%E6%A0%87%E7%AD%BE ClearDeviceTags(ctx context.Context, registrationID string) (*DeviceClearResult, error) // 清空设备的别名 // - 功能说明:清空当前设备的 alias 属性。 // - 调用地址:POST `/v3/devices/{registrationID}`,`registrationID` 为设备标识 Registration ID。 // - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device#%E8%AE%BE%E7%BD%AE%E8%AE%BE%E5%A4%87%E7%9A%84%E5%88%AB%E5%90%8D%E4%B8%8E%E6%A0%87%E7%AD%BE ClearDeviceAlias(ctx context.Context, registrationID string) (*DeviceClearResult, error) // 清空设备的手机号码 // - 功能说明:清空当前设备的 mobile 属性。 // - 调用地址:POST `/v3/devices/{registrationID}`,`registrationID` 为设备标识 Registration ID。 // - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device#%E8%AE%BE%E7%BD%AE%E8%AE%BE%E5%A4%87%E7%9A%84%E5%88%AB%E5%90%8D%E4%B8%8E%E6%A0%87%E7%AD%BE ClearDeviceMobile(ctx context.Context, registrationID string) (*DeviceClearResult, error) // 清空设备的标签与别名 // - 功能说明:清空当前设备的 tags 与 alias 属性。 // - 调用地址:POST `/v3/devices/{registrationID}`,`registrationID` 为设备标识 Registration ID。 // - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device#%E8%AE%BE%E7%BD%AE%E8%AE%BE%E5%A4%87%E7%9A%84%E5%88%AB%E5%90%8D%E4%B8%8E%E6%A0%87%E7%AD%BE ClearDeviceTagsAndAlias(ctx context.Context, registrationID string) (*DeviceClearResult, error) // 清空设备的标签与手机号码 // - 功能说明:清空当前设备的 tags 和 mobile 属性。 // - 调用地址:POST `/v3/devices/{registrationID}`,`registrationID` 为设备标识 Registration ID。 // - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device#%E8%AE%BE%E7%BD%AE%E8%AE%BE%E5%A4%87%E7%9A%84%E5%88%AB%E5%90%8D%E4%B8%8E%E6%A0%87%E7%AD%BE ClearDeviceTagsAndMobile(ctx context.Context, registrationID string) (*DeviceClearResult, error) // 清空设备的别名与手机号码 // - 功能说明:清空当前设备的 alias 与 mobile 属性。 // - 调用地址:POST `/v3/devices/{registrationID}` // - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device#%E8%AE%BE%E7%BD%AE%E8%AE%BE%E5%A4%87%E7%9A%84%E5%88%AB%E5%90%8D%E4%B8%8E%E6%A0%87%E7%AD%BE ClearDeviceAliasAndMobile(ctx context.Context, registrationID string) (*DeviceClearResult, error) // 清空设备的标签、别名与手机号码 // - 功能说明:清空当前设备的 tags、alias 与 mobile 属性。 // - 调用地址:POST `/v3/devices/{registrationID}`,`registrationID` 为设备标识 Registration ID。 // - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device#%E8%AE%BE%E7%BD%AE%E8%AE%BE%E5%A4%87%E7%9A%84%E5%88%AB%E5%90%8D%E4%B8%8E%E6%A0%87%E7%AD%BE ClearDeviceAll(ctx context.Context, registrationID string) (*DeviceClearResult, error) // 获取用户在线状态(VIP) // - 功能说明:查询用户是否在线。 // - 调用地址:POST `/v3/devices/status`,`registrationIDs` 为必填参数,需要获取在线状态的设备标识 Registration ID 集合,最多支持 1000 个。 // - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device#%E8%8E%B7%E5%8F%96%E7%94%A8%E6%88%B7%E5%9C%A8%E7%BA%BF%E7%8A%B6%E6%80%81%EF%BC%88vip%EF%BC%89 GetDeviceStatus(ctx context.Context, registrationIDs []string) (*DeviceStatusGetResult, error) // 查询标签列表 // - 功能说明:获取当前应用的所有标签列表,每个平台最多返回 100 个。 // - 调用地址:GET `/v3/tags` // - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device#%E6%9F%A5%E8%AF%A2%E6%A0%87%E7%AD%BE%E5%88%97%E8%A1%A8 GetTags(ctx context.Context) (*TagsGetResult, error) // 查询设备与标签的绑定关系 // - 功能说明:查询某个设备是否在 tag 下。 // - 调用地址:GET `/v3/tags/{tag}/registration_ids/{registrationID}`,`tag` 为指定的标签值;`registrationID` 为设备标识 Registration ID。 // - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device#%E6%9F%A5%E8%AF%A2%E8%AE%BE%E5%A4%87%E4%B8%8E%E6%A0%87%E7%AD%BE%E7%9A%84%E7%BB%91%E5%AE%9A%E5%85%B3%E7%B3%BB GetTag(ctx context.Context, tag string, registrationID string) (*TagGetResult, error) // 更新标签 // - 功能说明:为一个标签添加或者删除设备。 // - 调用地址:POST `/v3/tags/{tag}`,`tag` 为指定的标签值;`adds`/`removes` 为增加或删除的设备标识 Registration ID 集合,最多各支持 1000 个,不能同时为空。 // - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device#%E6%9B%B4%E6%96%B0%E6%A0%87%E7%AD%BE SetTag(ctx context.Context, tag string, adds, removes []string) (*TagSetResult, error) // 删除标签 // - 功能说明:删除一个标签,以及标签与设备之间的关联关系。 // - 调用地址:DELETE `/v3/tags/{tag}`,`tag` 为指定的标签值;`plats` 为可选参数,不填则默认为所有平台。 // - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device#%E5%88%A0%E9%99%A4%E6%A0%87%E7%AD%BE DeleteTag(ctx context.Context, tag string, plats ...platform.Platform) (*TagDeleteResult, error) // 查询别名 // - 功能说明:获取指定 alias 下的设备,正常情况下最多输出 10 个,超过 10 个默认输出 10 个。 // - 调用地址:GET `/v3/aliases/{alias}`,`alias` 为指定的别名值;`plats` 为可选参数,不填则默认为所有平台。 // - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device#%E6%9F%A5%E8%AF%A2%E5%88%AB%E5%90%8D GetAlias(ctx context.Context, alias string, plats ...platform.Platform) (*AliasGetResult, error) // 删除别名 // - 功能说明:删除一个别名,以及该别名与设备的绑定关系。 // - 调用地址:DELETE `/v3/aliases/{alias}`,`alias` 为指定的别名值;`plats` 为可选参数,不填则默认为所有平台。 // - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device#%E5%88%A0%E9%99%A4%E5%88%AB%E5%90%8D DeleteAlias(ctx context.Context, alias string, plats ...platform.Platform) (*AliasDeleteResult, error) // 删除设备的别名 // - 功能说明:批量解绑设备与别名之间的关系。 // - 调用地址:POST `/v3/aliases/{alias}`,`alias` 为指定的别名值;`registrationIDs` 为必填参数,需要和该 `alias` 解除绑定的设备标识 Registration ID 值集合,最多支持 1000 个。 // - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device#%E5%88%A0%E9%99%A4%E8%AE%BE%E5%A4%87%E7%9A%84%E5%88%AB%E5%90%8D DeleteAliases(ctx context.Context, alias string, registrationIDs []string) (*AliasesDeleteResult, error) }
Device API v3【极光推送 > REST API > 标签别名 API】
- 功能说明:用于在服务器端查询、设置、更新、删除设备的 tag、alias、mobile 等信息。
- 极光文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device
使用时需要注意不要让服务端设置的标签又被客户端给覆盖了:
- 如果不是很熟悉 tag、alias 的逻辑的话,建议只使用客户端或服务端二者中的一种;
- 如果是两边同时使用,请确认自己的应用可以处理好标签和别名的同步。
需要了解 tag、alias 的详细信息,请参考对应客户端平台的 API 说明:
- 【Android - tag, alias】https://docs.jiguang.cn/jpush/client/Android/android_api#%E5%88%AB%E5%90%8D%E4%B8%8E%E6%A0%87%E7%AD%BE-api
- 【iOS - tag, alias】https://docs.jiguang.cn/jpush/client/iOS/ios_api#%E6%A0%87%E7%AD%BE%E4%B8%8E%E5%88%AB%E5%90%8D-api%EF%BC%88ios%EF%BC%89
- 【HarmonyOS - tag, alias】https://docs.jiguang.cn/jpush/client/HarmonyOS/hmos_api#%E6%A0%87%E7%AD%BE%E4%B8%8E%E5%88%AB%E5%90%8D-api
包含了 device、tag 和 alias 三组 API,其中:
- device 用于查询/设置设备的各种属性,包含 tags 和 alias,手机号码 mobile;
- tag 用于查询/设置/删除设备的标签;
- alias 用于查询/设置/删除设备的别名。
需要用到的关键信息还有 Registration ID:
- 设备的 Registration ID 在客户端集成后获取,详情查看【Android、iOS、HarmonyOS】的 API 文档:https://docs.jiguang.cn/jpush/client/HarmonyOS/hmos_api#%E8%8E%B7%E5%8F%96rid%EF%BC%88getregistrationid%EF%BC%89;
- 服务端未提供 API 去获取设备的 Registration ID 值,需要开发者在客户端获取到 Registration ID 后上传给开发者服务器保存。
type APIv3Builder ¶
type APIv3Builder struct {
// contains filtered or unexported fields
}
用于构建和配置 Device 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) SetAppKey ¶
func (b *APIv3Builder) SetAppKey(appKey string) *APIv3Builder
【必填】设置 API 的应用标识。
func (*APIv3Builder) SetClient ¶
func (b *APIv3Builder) SetClient(client api.Client) *APIv3Builder
【可选】设置 API 的客户端,用于发送 HTTP 请求,默认值为 api.DefaultClient。
func (*APIv3Builder) SetHost ¶
func (b *APIv3Builder) SetHost(host string) *APIv3Builder
【可选】设置 API 的 Host 基础 URL,默认值为 api.HostJPushDeviceV3。
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。
func (*APIv3Builder) SetMasterSecret ¶
func (b *APIv3Builder) SetMasterSecret(masterSecret string) *APIv3Builder
【必填】设置 API 的应用主密钥。
type AliasDeleteResult ¶
type AliasDeleteResult struct { *api.Response `json:"-"` Error *api.CodeError `json:"error,omitempty"` }
func (*AliasDeleteResult) IsSuccess ¶
func (rs *AliasDeleteResult) IsSuccess() bool
type AliasGetData ¶
type AliasGetData struct { RegistrationID string `json:"registration_id"` // 设备标识 Registration ID Platform platform.Platform `json:"platform"` // 平台 LastOnlineDate *jiguang.LocalDate `json:"last_online_date"` // 最后一次上线日期 }
AliasGetData 查询别名成功返回的数据结构
type AliasGetResult ¶
type AliasGetResult struct { *api.Response `json:"-"` Error *api.CodeError `json:"error,omitempty"` Data []AliasGetData `json:"data,omitempty"` }
func (*AliasGetResult) IsSuccess ¶
func (rs *AliasGetResult) IsSuccess() bool
type AliasesDeleteError ¶
type AliasesDeleteError struct { api.CodeError IllegalRIDs []string `json:"illegal_rids,omitempty"` // 非法 Registration ID 集合 }
删除设备的别名失败错误
func (*AliasesDeleteError) Error ¶
func (e *AliasesDeleteError) Error() string
func (*AliasesDeleteError) String ¶
func (e *AliasesDeleteError) String() string
type AliasesDeleteResult ¶
type AliasesDeleteResult struct { *api.Response `json:"-"` Error *AliasesDeleteError `json:"error,omitempty"` }
func (*AliasesDeleteResult) IsSuccess ¶
func (rs *AliasesDeleteResult) IsSuccess() bool
type DeviceClearResult ¶
type DeviceClearResult struct { *api.Response `json:"-"` Error *api.CodeError `json:"error,omitempty"` }
func (*DeviceClearResult) IsSuccess ¶
func (rs *DeviceClearResult) IsSuccess() bool
type DeviceGetResult ¶
type DeviceGetResult struct { *api.Response `json:"-"` Error *api.CodeError `json:"error,omitempty"` Tags []string `json:"tags,omitempty"` // 设备标签 Alias string `json:"alias,omitempty"` // 设备别名 Mobile string `json:"mobile,omitempty"` // 设备手机号码 }
func (*DeviceGetResult) IsSuccess ¶
func (rs *DeviceGetResult) IsSuccess() bool
type DeviceSetParam ¶
type DeviceSetParam struct { // 设备标签,可使用 TagsForDeviceSetParam 或 空字符串 设置; // - 支持 add, remove 或者 空字符串 - 当设置为 空字符串 的时候,表示清空所有的 tags;add/remove 下是增加或删除指定的 tag; // - 一次 add/remove tag 的上限均为 100 个,且总长度均不能超过 1000 字节; // - 可以多次调用 API 设置,一个设备(Registration ID)能设置的 tag 上限为 1000 个,应用 tag 总数没有限制。 Tags interface{} `json:"tags,omitempty"` // 更新设备的别名属性;当别名为 空字符串 时,删除指定设备的别名; // - 注意:极光于 2020/03/10 对「别名设置」的上限进行限制,最多允许绑定 10 个设备,超过将报错 7015。 Alias *string `json:"alias,omitempty"` // 设备关联的手机号码;当 mobile 为 空字符串 时,表示清空设备关联的手机号码。 Mobile *string `json:"mobile,omitempty"` }
type DeviceSetResult ¶
type DeviceSetResult struct { *api.Response `json:"-"` Error *api.CodeError `json:"error,omitempty"` }
func (*DeviceSetResult) IsSuccess ¶
func (rs *DeviceSetResult) IsSuccess() bool
type DeviceStatusGetResult ¶
type DeviceStatusGetResult struct { *api.Response `json:"-"` Error *api.CodeError `json:"error,omitempty"` // 用户在线状态结果 // - key 为 Registration ID; // - 对于无效的或者不属于请求该 API 的认证 appKey 的 Registration ID,它的返回的结果为空。 Result map[string]DeviceStatusResult `json:"-"` }
func (*DeviceStatusGetResult) IsSuccess ¶
func (rs *DeviceStatusGetResult) IsSuccess() bool
func (DeviceStatusGetResult) MarshalJSON ¶
func (rs DeviceStatusGetResult) MarshalJSON() ([]byte, error)
func (*DeviceStatusGetResult) UnmarshalJSON ¶
func (rs *DeviceStatusGetResult) UnmarshalJSON(data []byte) error
type DeviceStatusResult ¶
type DeviceStatusResult struct { // 10 分钟之内是否在线 Online bool `json:"online"` // 最后一次在线时间 // - 10 分钟之内在线时,不返回该字段; // - 10 分钟之内不在线,且该字段不返回时,则表示最后一次在线时间是在两天之前。 LastOnlineTime *jiguang.LocalDateTime `json:"last_online_time,omitempty"` }
用户在线状态结果
type TagDeleteResult ¶
type TagDeleteResult struct { *api.Response `json:"-"` Error *api.CodeError `json:"error,omitempty"` }
func (*TagDeleteResult) IsSuccess ¶
func (rs *TagDeleteResult) IsSuccess() bool
type TagGetResult ¶
type TagGetResult struct { *api.Response `json:"-"` Error *api.CodeError `json:"error,omitempty"` Result *bool `json:"result,omitempty"` // 设备是否与标签绑定 }
func (*TagGetResult) IsSuccess ¶
func (rs *TagGetResult) IsSuccess() bool
type TagSetError ¶
type TagSetError struct { api.CodeError IllegalRIDs []string `json:"illegal_rids,omitempty"` // 非法 Registration ID 集合 }
更新标签失败错误
func (*TagSetError) Error ¶
func (e *TagSetError) Error() string
func (*TagSetError) String ¶
func (e *TagSetError) String() string
type TagSetResult ¶
type TagSetResult struct { *api.Response `json:"-"` Error *TagSetError `json:"error,omitempty"` }
func (*TagSetResult) IsSuccess ¶
func (rs *TagSetResult) IsSuccess() bool
type TagsForDeviceSetParam ¶
type TagsForDeviceSetParam struct { Add []string `json:"add,omitempty"` // 增加的标签列表 Remove []string `json:"remove,omitempty"` // 删除的标签列表 }
设置设备标签,提供给 DeviceSetParam.Tags 字段使用。
Source Files ¶
Click to show internal directories.
Click to hide internal directories.