image

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2025 License: Apache-2.0 Imports: 9 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 {
	// 新增图片(URL 方式)
	//  - 功能说明:通过指定网络图片资源的 URL 形式来新增一个适配。
	//	- 调用地址:POST `/v3/images/byurls`
	//  - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_image#%E6%96%B0%E5%A2%9E%E5%9B%BE%E7%89%87%EF%BC%88url%E6%96%B9%E5%BC%8F%EF%BC%89
	AddImageByUrl(ctx context.Context, param *AddByUrlParam) (*AddByUrlResult, error)

	// 更新图片(URL 方式)
	//  - 功能说明:通过指定网络图片资源的 URL 形式来修改或更新适配结果。
	//	- 调用地址:PUT `/v3/images/byurls/{mediaID}`
	//  - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_image#%E6%9B%B4%E6%96%B0%E5%9B%BE%E7%89%87%EF%BC%88url%E6%96%B9%E5%BC%8F%EF%BC%89
	UpdateImageByUrl(ctx context.Context, mediaID string, param *UpdateByUrlParam) (*UpdateByUrlResult, error)

	// 新增图片(文件方式)
	//  - 功能说明:通过上传图片文件形式来新增一个适配,该接口目前仅支持小米和 OPPO。不过从 2023.08 开始,小米官方在新设备/系统已经不再支持推送时动态设置小图标、右侧图标、大图片功能,对于历史设备和应用也在逐步覆盖,等于不再支持推送时动态设置小图标、右侧图标、大图片功能;
	//	- 调用地址:POST `/v3/images/byfiles`
	//  - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_image#%E6%96%B0%E5%A2%9E%E5%9B%BE%E7%89%87%EF%BC%88%E6%96%87%E4%BB%B6%E6%96%B9%E5%BC%8F%EF%BC%89
	AddImageByFile(ctx context.Context, param *AddByFileParam) (*AddByFileResult, error)

	// 更新图片(文件方式)
	//  - 功能说明:通过上传图片文件形式来修改或更新适配结果,该接口目前仅支持 OPPO。
	//	- 调用地址:PUT `/v3/images/byfiles/{mediaID}`
	//  - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_image#%E6%9B%B4%E6%96%B0%E5%9B%BE%E7%89%87%EF%BC%88%E6%96%87%E4%BB%B6%E6%96%B9%E5%BC%8F%EF%BC%89
	UpdateImageByFile(ctx context.Context, mediaID string, param *UpdateByFileParam) (*UpdateByFileResult, error)
}

Image API v3【极光推送 > REST API > 图片 API】

  • 功能说明:需要结合 Push Android SDK v3.9.0 及其以上版本配套使用。开发者提交图片或者网络资源 URL 至极光服务器,极光会根据开发者需求对接适配各个厂商,同时开发者将从极光得到对应资源的 MediaID,该 MediaID 可于 Push API v3 中使用,达到统一推送大图片、大图标和小图标的需求。
  • 极光文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_image

调用限制:

  • 上传图片大小不超过 2M;
  • 图片默认最多保存 30 天(从 2023.08.31 开始实施,请开发者关注);
  • API 请求频率限制与 Push API v3 接口共享。

各通道支持及要求情况:

type APIv3Builder

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

用于构建和配置 Image 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.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。

func (*APIv3Builder) SetMasterSecret

func (b *APIv3Builder) SetMasterSecret(masterSecret string) *APIv3Builder

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

type AddByFileParam

type AddByFileParam struct {
	// 【必填】指定适配的图片类型。
	ImageType Type `json:"image_type"`
	// 【可选】上传配置小米通道的图片文件。
	//  - 本接口将会对该图片文件大小进行校验,若不适配小米对该图片的要求,则返回错误,小米对该图片对要求参考【小米-图片上传】:https://dev.mi.com/console/doc/detail?pId=1278#4_4_2
	//  - 小米从 2023.08 开始不再支持推送时动态设置小图标、右侧图标、大图片功能,开发者可不再设置此字段值。
	XiaomiImageFile interface{} `json:"xiaomi_file,omitempty"`
	// 【可选】上传配置 OPPO 通道的图片文件;
	//  - 本接口将会对该图片文件大小进行校验,若不适配 OPPO 对该图片的要求,则返回错误,OPPO 对该图片对要求参考【OPPO-图片上传】:https://open.oppomobile.com/new/developmentDoc/info?id=11241
	OppoImageFile interface{} `json:"oppo_file,omitempty"`
}

新增图片(文件方式)请求参数正文。

  • XiaomiImageFile 和 OppoImageFile 不能同时为空。

type AddByFileResult

type AddByFileResult = AddByUrlResult

新增图片(文件方式)响应结果正文。

type AddByUrlParam

type AddByUrlParam struct {
	// 【必填】指定适配的图片类型。
	ImageType Type `json:"image_type"`
	// 【可选】公共的图片地址。
	//  - 如果设置了该字段,则当其他字段不设置值时,将该字段的内容作为其他字段的默认值;
	//  - 例如:仅该字段以及极光字段有值,而小米、OPPO 字段无值,则小米、OPPO 字段值将被设置成与该字段值相同,但不会改变极光字段值。
	ImageUrl string `json:"image_url,omitempty"`
	// 【可选】配置极光通道的图片地址。
	JiguangImageUrl string `json:"jiguang_image_url,omitempty"`
	// 【可选】配置小米通道的图片地址。
	//  - 如果您的应用没有通过极光平台开通小米厂商通道,则不对该字段做处理;
	//  - 本接口将会对该地址的图片资源自动进行尺寸的调整和压缩,以适配小米对该图片的要求,其要求具体见参考;
	//  - 若提交的图片资源尺寸不符,则进行等比例缩放且以留白的形式进行调整,而不会对图片进行剪裁,若适配调整失败,将返回错误;
	//  - 建议提交与要求相符的图片资源,小米厂商对该图片要求请参考【小米-图片上传】:https://dev.mi.com/console/doc/detail?pId=1278#4_4_2
	//  - 小米从 2023.08 开始,官方在新设备/系统已经不再支持推送时动态设置小图标、右侧图标、大图片功能,对于历史设备和应用也在逐步覆盖,等于不再支持推送时动态设置小图标、右侧图标、大图片功能。
	XiaomiImageUrl string `json:"xiaomi_image_url,omitempty"`
	// 【可选】配置适配 OPPO 通道的图片地址。
	//  - 如果您的应用没有通过极光平台开通 OPPO 厂商通道,则不对该字段做处理;
	//  - 本接口将会对该地址的图片资源自动进行尺寸的调整和压缩,以适配 OPPO 对该图片的要求,其要求具体见参考;
	//  - 若提交的图片资源尺寸不符,则进行等比例缩放且以留白的形式进行调整,而不会对图片进行剪裁,若适配调整失败,将返回错误;
	//  - 建议提交与要求相符的图片资源,OPPO 厂商对该图片要求请参考【OPPO-图片上传】:https://open.oppomobile.com/new/developmentDoc/info?id=11241
	OppoImageUrl string `json:"oppo_image_url,omitempty"`
	// 【可选】配置华为通道的图片地址。
	//  - 如果您的应用没有通过极光平台开通华为厂商通道,则不对该字段做处理。
	HuaweiImageUrl string `json:"huawei_image_url,omitempty"`
	// 【可选】配置荣耀通道的图片地址。
	//  - 如果您的应用没有通过极光平台开通荣耀厂商通道,则不对该字段做处理。
	HonorImageUrl string `json:"honor_image_url,omitempty"`
	// 【可选】配置 FCM 通道的图片地址。
	//  - 如果您的应用没有通过极光平台开通 FCM 厂商通道,则不对该字段做处理。
	FcmImageUrl string `json:"fcm_image_url,omitempty"`
	// 【可选】配置鸿蒙厂商的图片地址,2024.08.13 新增。
	//  - 如果您的应用没有通过极光平台开通鸿蒙厂商,则不对该字段做处理。
	HmosImageUrl string `json:"hmos_image_url,omitempty"`
}

新增图片(URL 方式)请求参数正文。

  • ImageUrl 以及各通道的字段值不能同时为空;
  • 指定的厂商图片字段,仅在厂商支持相应图片类型的情况下被处理:例如配置了华为厂商的大图片地址,由于华为厂商不支持大图片类型,则结果中华为字段将为空值。

type AddByUrlResult

type AddByUrlResult struct {
	*api.Response   `json:"-"`
	Error           *api.CodeError `json:"error,omitempty"`
	MediaID         string         `json:"media_id"`                    // 资源 MediaID,可于 Push API v3 中使用
	JiguangImageUrl string         `json:"jiguang_image_url,omitempty"` // 配置的极光通道的图标地址
	XiaomiImageUrl  string         `json:"xiaomi_image_url,omitempty"`  // 适配小米要求后小米响应得到的图标地址,2023.08 开始不再支持
	HuaweiImageUrl  string         `json:"huawei_image_url,omitempty"`  // 配置的华为图标地址
	HonorImageUrl   string         `json:"honor_image_url,omitempty"`   // 配置的荣耀图标地址
	OppoImageUrl    string         `json:"oppo_image_url,omitempty"`    // 适配 OPPO 要求后 OPPO 响应得到的 ID
	FcmImageUrl     string         `json:"fcm_image_url,omitempty"`     // 配置的 FCM 图标地址
	HmosImageUrl    string         `json:"hmos_image_url,omitempty"`    // 配置的鸿蒙图标地址,2024.08.13 新增
}

新增图片(URL 方式)响应结果正文。

func (*AddByUrlResult) IsSuccess

func (rs *AddByUrlResult) IsSuccess() bool

type Type

type Type int

图片类型

const (
	BigImage  Type = iota + 1 // 大图片 (1)
	BigIcon                   // 大图标 (2)
	SmallIcon                 // 小图标 (3)
)

func (Type) IsValid

func (t Type) IsValid() bool

type UpdateByFileParam

type UpdateByFileParam struct {
	// 【可选】上传配置小米通道的图片文件。
	//  - 本接口将会对该图片文件大小进行校验,若不适配小米对该图片的要求,则返回错误,小米对该图片对要求参考【小米-图片上传】:https://dev.mi.com/console/doc/detail?pId=1278#4_4_2
	//  - 小米从 2023.08 开始不再支持推送时动态设置小图标、右侧图标、大图片功能,开发者可不再设置此字段值。
	XiaomiImageFile interface{} `json:"xiaomi_file,omitempty"`
	// 【可选】上传配置 OPPO 通道的图片文件;
	//  - 本接口将会对该图片文件大小进行校验,若不适配 OPPO 对该图片的要求,则返回错误,OPPO 对该图片对要求参考【OPPO-图片上传】:https://open.oppomobile.com/new/developmentDoc/info?id=11241
	OppoImageFile interface{} `json:"oppo_file,omitempty"`
}

更新图片(文件方式)请求参数正文。

type UpdateByFileResult

type UpdateByFileResult = AddByFileResult

更新图片(文件方式)响应结果正文。

type UpdateByUrlParam

type UpdateByUrlParam struct {
	// 【可选】配置极光通道的图片地址。
	JiguangImageUrl string `json:"jiguang_image_url,omitempty"`
	// 【可选】配置小米通道的图片地址。
	//  - 如果您的应用没有通过极光平台开通小米厂商通道,则不对该字段做处理;
	//  - 本接口将会对该地址的图片资源自动进行尺寸的调整和压缩,以适配小米对该图片的要求,其要求具体见参考;
	//  - 若提交的图片资源尺寸不符,则进行等比例缩放且以留白的形式进行调整,而不会对图片进行剪裁,若适配调整失败,将返回错误;
	//  - 建议提交与要求相符的图片资源,小米厂商对该图片要求请参考【小米-图片上传】:https://dev.mi.com/console/doc/detail?pId=1278#4_4_2
	//  - 小米从 2023.08 开始,官方在新设备/系统已经不再支持推送时动态设置小图标、右侧图标、大图片功能,对于历史设备和应用也在逐步覆盖,等于不再支持推送时动态设置小图标、右侧图标、大图片功能。
	XiaomiImageUrl string `json:"xiaomi_image_url,omitempty"`
	// 【可选】配置适配 OPPO 通道的图片地址。
	//  - 如果您的应用没有通过极光平台开通 OPPO 厂商通道,则不对该字段做处理;
	//  - 本接口将会对该地址的图片资源自动进行尺寸的调整和压缩,以适配 OPPO 对该图片的要求,其要求具体见参考;
	//  - 若提交的图片资源尺寸不符,则进行等比例缩放且以留白的形式进行调整,而不会对图片进行剪裁,若适配调整失败,将返回错误;
	//  - 建议提交与要求相符的图片资源,OPPO 厂商对该图片要求请参考【OPPO-图片上传】:https://open.oppomobile.com/new/developmentDoc/info?id=11241
	OppoImageUrl string `json:"oppo_image_url,omitempty"`
	// 【可选】配置华为通道的图片地址。
	//  - 如果您的应用没有通过极光平台开通华为厂商通道,则不对该字段做处理。
	HuaweiImageUrl string `json:"huawei_image_url,omitempty"`
	// 【可选】配置荣耀通道的图片地址。
	//  - 如果您的应用没有通过极光平台开通荣耀厂商通道,则不对该字段做处理。
	HonorImageUrl string `json:"honor_image_url,omitempty"`
	// 【可选】配置 FCM 通道的图片地址。
	//  - 如果您的应用没有通过极光平台开通 FCM 厂商通道,则不对该字段做处理。
	FcmImageUrl string `json:"fcm_image_url,omitempty"`
	// 【可选】配置鸿蒙厂商的图片地址,2024.08.13 新增。
	//  - 如果您的应用没有通过极光平台开通鸿蒙厂商,则不对该字段做处理。
	HmosImageUrl string `json:"hmos_image_url,omitempty"`
}

更新图片(URL 方式)请求参数正文。

  • 各通道的字段值不能同时为空;
  • 若未指定更新配置的厂商地址,则该厂商的配置结果保留更新前的值而不会被置空;
  • 若指定更新配置的厂商不支持对应类型,则该厂商的配置结果将保留更新前的值而不会被覆盖。

type UpdateByUrlResult

type UpdateByUrlResult = AddByUrlResult

更新图片(URL 方式)响应结果正文。

Jump to

Keyboard shortcuts

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