Skip to content

Commit

Permalink
feat: mipush constraints and comments
Browse files Browse the repository at this point in the history
  • Loading branch information
JingYiJun committed Jul 6, 2023
1 parent c8f7eb9 commit ffbee43
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 10 deletions.
6 changes: 3 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ require (
github.com/caarlos0/env/v6 v6.10.1
github.com/goccy/go-json v0.10.2
github.com/gofiber/fiber/v2 v2.47.0
github.com/opentreehole/go-common v0.0.2
github.com/opentreehole/go-common v0.0.3
github.com/rs/zerolog v1.29.1
github.com/sideshow/apns2 v0.23.0
github.com/stretchr/testify v1.8.4
Expand Down Expand Up @@ -54,9 +54,9 @@ require (
github.com/valyala/bytebufferpool v1.0.0 // indirect
github.com/valyala/fasthttp v1.48.0 // indirect
github.com/valyala/tcplisten v1.0.0 // indirect
golang.org/x/crypto v0.10.0 // indirect
golang.org/x/crypto v0.11.0 // indirect
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
golang.org/x/net v0.11.0 // indirect
golang.org/x/net v0.12.0 // indirect
golang.org/x/sys v0.10.0 // indirect
golang.org/x/text v0.11.0 // indirect
golang.org/x/tools v0.10.0 // indirect
Expand Down
6 changes: 6 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,8 @@ github.com/mattn/go-sqlite3 v1.14.17/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/opentreehole/go-common v0.0.2 h1:krcJKHDGHkerTjuHqO8TqwWZuifyzGxSRKmqMFzpsnY=
github.com/opentreehole/go-common v0.0.2/go.mod h1:/LN3A05Ecato8SoYo3tlnDH8PndgosyzmAsUOUkYJ54=
github.com/opentreehole/go-common v0.0.3 h1:f4e4SwUZ8DuFJZzMPlVV2xaMiSJ20cVHSzhKyEC2VQE=
github.com/opentreehole/go-common v0.0.3/go.mod h1:/LN3A05Ecato8SoYo3tlnDH8PndgosyzmAsUOUkYJ54=
github.com/otiai10/copy v1.7.0/go.mod h1:rmRl6QPdJj6EiUqXQ/4Nn2lLXoNQjFCQbbNrxgc/t3U=
github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE=
github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs=
Expand Down Expand Up @@ -172,6 +174,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM=
golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I=
golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA=
golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio=
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
Expand All @@ -194,6 +198,8 @@ golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU=
golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ=
golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50=
golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
Expand Down
37 changes: 30 additions & 7 deletions push/mipush/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package mipush

import (
"github.com/goccy/go-json"
"github.com/opentreehole/go-common"
"github.com/rs/zerolog/log"
"net/http"
"net/url"
Expand All @@ -22,15 +23,37 @@ func (s *Sender) Send() {
"code": s.Message.Type,
"url": s.Message.URL,
})

// https://dev.mi.com/distribute/doc/details?pId=1559
data := map[string]string{
"registration_id": strings.Join(s.Tokens, ","),
// 根据registration_id,发送消息到指定设备上。
// 可以提供多个registration_id,发送给一组设备,不同的registration_id之间用“,”分割。
"registration_id": strings.Join(s.Tokens, ","),

// App的包名。V3版本支持多包名(中间用逗号分割)
"restricted_package_name": config.Config.AndroidPackageName,
"title": s.Message.Title,
"description": s.Message.Description,
"payload": url.QueryEscape(string(payload)),
"extra.notify_effect": "1",
"extra.callback": config.Config.MipushCallbackUrl,
"extra.callback.type": "19",

// 通知栏展示的通知的标题,不允许全是空白字符,长度小于50, 一个中英文字符均计算为1(通知栏消息必填)
"title": common.StripContent(s.Message.Title, 49),

// 通知栏展示的通知的描述,不允许全是空白字符,长度小于128,一个中英文字符均计算为1(通知栏消息必填)。
"description": common.StripContent(s.Message.Description, 127),

// 消息的内容。(注意:需要对payload字符串做urlencode处理)
"payload": url.QueryEscape(string(payload)),

// 可选项,预定义通知栏消息的点击行为。通过设置extra.notify_effect的值以得到不同的预定义点击行为。
// “1″:通知栏点击后打开app的Launcher Activity。
// “2″:通知栏点击后打开app的任一Activity(开发者还需要传入extra.intent_uri)。
// “3″:通知栏点击后打开网页(开发者还需要传入extra.web_uri)。
"extra.notify_effect": "1",

// 可选项,开启消息回执。消息发送后,推送系统能发送回执给开发者,告知开发者这些消息的送达、点击或发送失败状态。
// 将extra.callback的值设置为第三方接收回执的http接口。(注意:仅支持http协议,不支持https协议)
"extra.callback": config.Config.MipushCallbackUrl,

// 可选项,表示回执类型。详细用法请参见《服务端Java SDK文档》中“消息回执”一节中的callback.type字段。
"extra.callback.type": "19",
}
form := url.Values{}
for k, v := range data {
Expand Down

0 comments on commit ffbee43

Please sign in to comment.