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::deviceAttribution,POST 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{}, } }