6
0
gaore-common-sdk-go/services/stat/device.go

80 lines
2.5 KiB
Go
Raw Normal View History

package stat
import (
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests"
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses"
)
// DeviceAttributionReq 设备归因数据上报请求。
//
// 各媒体上报的字段集合与类型差异较大PHP 侧直接传关联数组),
// 这里以 map 承载而不收敛成结构体,避免类型转换导致上报内容与 PHP 不一致。
type DeviceAttributionReq struct {
*requests.JsonRequest
}
type DeviceAttributionResp struct {
*responses.BaseResponse
Code int `json:"code"`
Msg string `json:"msg"`
}
// CreateDeviceAttributionReq 创建设备归因上报请求。
// 对应 PHP GaoreSDK\Package\Stat::deviceAttributionPOST JSON 到 /api/device/attribution。
func CreateDeviceAttributionReq(data map[string]any) *DeviceAttributionReq {
req := &DeviceAttributionReq{JsonRequest: &requests.JsonRequest{}}
req.InitWithApiInfo(HOST, VERSION, "api/device/attribution")
req.Method = requests.POST
for k, v := range data {
req.JsonParams[k] = v
}
return req
}
func CreateDeviceAttributionResp() *DeviceAttributionResp {
return &DeviceAttributionResp{
BaseResponse: &responses.BaseResponse{},
}
}
// GetGameAppByGameIdChannelReq 按游戏与渠道获取媒体投放账号配置。
type GetGameAppByGameIdChannelReq struct {
*requests.RpcRequest
GameId int64 `position:"Body" field:"game_id" json:"game_id"`
Channel string `position:"Body" field:"channel" json:"channel"`
}
type GetGameAppByGameIdChannelResp struct {
*responses.BaseResponse
Code int `json:"code"`
Msg string `json:"msg"`
Data GameAppInfo `json:"data"`
}
// GameAppInfo 媒体投放账号配置,腾讯归因查询需要其中的 access_token。
type GameAppInfo struct {
AccountId string `json:"account_id"`
AppId string `json:"app_id"`
AccessToken string `json:"access_token"`
}
// CreateGetGameAppByGameIdChannelReq 创建媒体投放账号查询请求。
// 对应 PHP GaoreSDK\Package\Stat::getGameAppByGameIdChannel
// POST 表单到 /api/game/getGameAppByGameIdChannel。
func CreateGetGameAppByGameIdChannelReq(gameId int64, channel string) *GetGameAppByGameIdChannelReq {
req := &GetGameAppByGameIdChannelReq{
RpcRequest: &requests.RpcRequest{},
GameId: gameId,
Channel: channel,
}
req.InitWithApiInfo(HOST, VERSION, "api/game/getGameAppByGameIdChannel")
req.Method = requests.POST
return req
}
func CreateGetGameAppByGameIdChannelResp() *GetGameAppByGameIdChannelResp {
return &GetGameAppByGameIdChannelResp{
BaseResponse: &responses.BaseResponse{},
}
}