Documentation ¶
Index ¶
- Constants
- type Callback
- type Client
- func (c *Client) InvalidTokens() (response *Response, err error)
- func (c *Client) MockPush(xm *XMMessage) (response *Response, err error)
- func (c *Client) Push(xm *XMMessage) (response *Response, err error)
- func (c *Client) SetDevelopmentURL(url string)
- func (c *Client) SetProductionURL(url string)
- func (c *Client) SetStatusURL()
- func (c *Client) SetVipURL(url string)
- func (c *Client) UninstalledTokens() (response *UninstalledResponse, err error)
- type Data
- type RegidCallback
- type Response
- type UninstalledData
- type UninstalledResponse
- type XMMessage
- func (xm *XMMessage) SetCallbackParam(p string)
- func (xm *XMMessage) SetNotifyID(notifyID string)
- func (xm *XMMessage) SetNotifyType(typ int)
- func (xm *XMMessage) SetRegID(deviceToken string)
- func (xm *XMMessage) SetTimeToLive(expire int64)
- func (xm *XMMessage) SetTimeToSend(timeToSend int64)
- func (xm *XMMessage) SetTopic(UserAccount string)
- func (xm *XMMessage) SetUserAccount(UserAccount string)
- func (xm *XMMessage) SetUserAccounts(UserAccount string)
Constants ¶
const ( // VipHost VIP host. VipHost = "https://vip.api.xmpush.xiaomi.com" // DevHost dev host. DevHost = "https://sandbox.xmpush.xiaomi.com" // ProductionHost production host. ProductionHost = "https://api.xmpush.xiaomi.com" // AuthPrefix auth prefix. AuthPrefix = "key=" // ResultOk result status. ResultOk = "ok" // "ok" means success, "error" means failed. // ResultError result status. ResultError = "error" // ResultCodeOk result status code. ResultCodeOk = 0 // ResultCodeNoValidTargets no valid token. ResultCodeNoValidTargets = 20301 // ResultCodeNoMsgInEmq no message in emq. ResultCodeNoMsgInEmq = 80002 // RegURL 向某个regid或一组regid列表推送某条消息 RegURL = "/v3/message/regid" // AccountURL 根据account,发送消息到指定account上 AccountURL = "/v2/message/user_account" // MultiRegIDURL 针对不同的regid推送不同的消息 MultiRegIDURL = "/v2/multi_messages/regids" // MultiAliasURL 针对不同的aliases推送不同的消息 MultiAliasURL = "/v2/multi_messages/aliases" // MultiUserAccountURL 针对不同的accounts推送不同的消息 MultiUserAccountURL = "/v2/multi_messages/user_accounts" // AliasURL 根据alias,发送消息到指定设备上 AliasURL = "/v3/message/alias" // MultiPackageNameMultiTopicURL 根据topic,发送消息到指定一组设备上 MultiPackageNameMultiTopicURL = "/v3/message/multi_topic" // MultiTopicURL 根据topic,发送消息到指定一组设备上 MultiTopicURL = "/v2/message/topic" // MultiPackageNameAllURL 向所有设备推送某条消息 MultiPackageNameAllURL = "/v3/message/all" // AllURL 向所有设备推送某条消息 AllURL = "/v2/message/all" // TopicURL 向多个topic广播消息 TopicURL = "/v3/message/multi_topic" // ScheduleJobExistURL 检测定时消息的任务是否存在 ScheduleJobExistURL = "/v2/schedule_job/exist" // ScheduleJobDeleteURL 删除指定的定时消息 ScheduleJobDeleteURL = "/v2/schedule_job/delete" // ScheduleJobDeleteByJobKeyURL 删除指定的定时消息 ScheduleJobDeleteByJobKeyURL = "/v3/schedule_job/delete" // StatusURL 追踪消息 StatusURL = "/v1/trace/message/status" // NotifyTypeDefaultAll 包括下面三种(notify type 可以是以下几种的OR组合) NotifyTypeDefaultAll = -1 // NotifyTypeDefaultNone 声音、振动、led灯全关 NotifyTypeDefaultNone = 0 // NotifyTypeDefaultSound 使用默认提示音提示 NotifyTypeDefaultSound = 1 // NotifyTypeDefaultVibration 使用默认震动提示 NotifyTypeDefaultVibration = 2 // NotifyTypeDefaultLight 使用默认led灯光提示 NotifyTypeDefaultLight = 4 // NotPassThrough 显示通知 NotPassThrough = 0 // PassThrough 静默推送 PassThrough = 1 // CallbackURL 客户端收到后回调 CallbackURL = "https://api.bilibili.com/x/push/callback/xiaomi" // CallbackBarStatusEnable . CallbackBarStatusEnable = 1 // CallbackBarStatusDisable . CallbackBarStatusDisable = 2 // CallbackBarStatusUnknown . CallbackBarStatusUnknown = 3 // CallbackBarStatusEnableStr . CallbackBarStatusEnableStr = "Enable" // CallbackBarStatusDisableStr . CallbackBarStatusDisableStr = "Disable" // CallbackBarStatusUnknownStr . CallbackBarStatusUnknownStr = "Unknown" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Callback ¶
type Callback struct { Param string `json:"param"` // 开发者上传的自定义参数值。 BarStatus string `json:"barStatus"` // 消息送达时通知栏的状态。Enable:为用户允许此app展示通知栏消息, Disable:为通知栏消息已关闭, Unknown:通知栏状态未知。 Type int `json:"type"` // callback类型 Targets string `json:"targets"` // 一批alias或者regId列表,之间是用逗号分割 Jobkey string `json:"jobkey"` }
Callback 推送回执(回调)
type Client ¶
type Client struct { Header http.Header HTTPClient *http.Client Package string URL string Stats stat.Stat }
Client Xiaomi http client.
func (*Client) InvalidTokens ¶
InvalidTokens get invalid tokens.
func (*Client) SetDevelopmentURL ¶
SetDevelopmentURL sets Production URL.
func (*Client) SetProductionURL ¶
SetProductionURL sets Production URL.
func (*Client) UninstalledTokens ¶
func (c *Client) UninstalledTokens() (response *UninstalledResponse, err error)
UninstalledTokens get uninstalled tokens.
type Data ¶
type Data struct { ID string `json:"id,omitempty"` List []string `json:"list,omitempty"` // for feedback Data json.RawMessage `json:"data,omitempty"` // for status }
Data response data.
type RegidCallback ¶
type RegidCallback struct { AppID string `json:"app_id"` AppVer string `json:"app_version"` AppPkg string `json:"app_pkg"` AppSecret string `json:"app_secret"` Regid string `json:"regid"` }
RegidCallback regid callback
type Response ¶
type Response struct { Result string `json:"result,omitempty"` //“result”: string,”ok” 表示成功, “error” 表示失败。 Reason string `json:"reason,omitempty"` //reason: string,如果失败,reason失败原因详情。 Code int `json:"code,omitempty"` //“code”: integer,0表示成功,非0表示失败。 Data Data `json:"data,omitempty"` //“data”: string,本身就是一个json字符串(其中id字段的值就是消息的Id)。 Description string `json:"description,omitempty"` //“description”: string, 对发送消息失败原因的解释。 Info string `json:"info,omitempty"` //“info”: string,详细信息。 TraceID string `json:"trace_id,omitempty"` // trace id for xiaomi }
Response push result.
type UninstalledData ¶
UninstalledData .
type UninstalledResponse ¶
type UninstalledResponse struct { Code int `json:"errorCode,omitempty"` Reason string `json:"reason,omitempty"` Result []string `json:"result,omitempty"` Data []string }
UninstalledResponse .
type XMMessage ¶
type XMMessage struct { Payload string // 消息的内容。 RestrictedPackageName string // App的包名。备注:V2版本支持一个包名,V3版本支持多包名(中间用逗号分割)。 PassThrough int // pass_through的值可以为: 0 表示通知栏消息1 表示透传消息 NotifyType int // 通知方式 Title string // 通知栏展示的通知的标题。 Description string // 通知栏展示的通知的描述。 TaskID string // 上报数据使用 // contains filtered or unexported fields }
XMMessage define reference struct http://dev.xiaomi.com/doc/?p=533
func (*XMMessage) SetCallbackParam ¶
SetCallbackParam 把应用标识传过去,这样方便区分应用
func (*XMMessage) SetNotifyID ¶
SetNotifyID 可选项 默认情况下,通知栏只显示一条推送消息。如果通知栏要显示多条推送消息,需要针对不同的消息设置不同的notify_id(相同notify_id的通知栏消息会覆盖之前的)。 notify_id 0-4 同一个notifyId在通知栏只会保留一条
func (*XMMessage) SetNotifyType ¶
SetNotifyType sound / vibration / led light
func (*XMMessage) SetRegID ¶
SetRegID 根据registration_id,发送消息到指定设备上。可以提供多个registration_id,发送给一组设备,不同的registration_id之间用“,”分割。
func (*XMMessage) SetTimeToLive ¶
SetTimeToLive 可选项 如果用户离线,设置消息在服务器保存的时间,单位:ms。服务器默认最长保留两周。 time_to_live 可选项,当用户离线是,消息保留时间,默认两周,单位ms
func (*XMMessage) SetTimeToSend ¶
SetTimeToSend 可选项 定时发送消息。用自1970年1月1日以来00:00:00.0 UTC时间表示(以毫秒为单位的时间)。注:仅支持七天内的定时消息。
func (*XMMessage) SetUserAccount ¶
SetUserAccount 根据user_account,发送消息给设置了该user_account的所有设备。可以提供多个user_account,user_account之间用“,”分割。参数仅适用于“/message/user_account”HTTP API。
func (*XMMessage) SetUserAccounts ¶
SetUserAccounts 针对不同的userAccount推送不同的消息 根据user_accounts,发送消息给设置了该user_account的所有设备。可以提供多个user_account,user_account之间用“,”分割。