Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
v6.init [2022/04/01 06:17] serg |
v6.init [2025/10/27 12:01] (текущий) serg |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | [[apiV5Client/qurator/scenario|Назад]] | + | |
| ===== Иницилизация ===== | ===== Иницилизация ===== | ||
| Строка 15: | Строка 15: | ||
| SDKVerC* string - версия SDK клиента | SDKVerC* string - версия SDK клиента | ||
| - | + | OSint* int - enum marketplace(0-android, 1-huawei, 2-ios) | |
| - | OS* string - операционная система девайса (ENUM('ios','android')) case insensitive | + | |
| OSV string (default="Unknown") - версия операционной системы | OSV string (default="Unknown") - версия операционной системы | ||
| Строка 24: | Строка 23: | ||
| H* int - высота экрана в пикселях (максимальная по длине сторона является высотой) | H* int - высота экрана в пикселях (максимальная по длине сторона является высотой) | ||
| W* int - ширина экрана в пикселях | W* int - ширина экрана в пикселях | ||
| - | RealHeight int - реальна высота экрана включительно со статус баром и виртуальной клавиатурой | + | ScreenOrientation int - enum |
| + | ( | ||
| + | Unknown = 0 | ||
| + | Portrait = 1, | ||
| + | PortraitUpsideDown = 2, | ||
| + | LandscapeLeft = 3, | ||
| + | LandscapeRight = 4, | ||
| + | AutoRotation = 5 | ||
| + | ) | ||
| - | PageOrientation int (0 - OrientationLandscape | ||
| - | 1 - OrientationPortable) | ||
| GAID* string(40) - Google Advertising ID/для iOS - IDFA; | GAID* string(40) - Google Advertising ID/для iOS - IDFA; | ||
| - | IsRandomGAID int - (default=0) Если gaid недоступен, то 1 и в gaid идет рендомное значение. Иначе 0 | + | GaidType int (0 - unknown, 1-appid, 2-pubid) |
| - | + | ||
| - | ConnectionType int (default=0) - Тип соединения клиента с интернетом из справочника NetworkConnection_Types | + | |
| - | DeviceType int (default=0) - тип устройства из справочника Device_Types | + | |
| Make string (default="Unknown") - производитель девайса (например "Apple", "Samsung", "Xiaomi") | Make string (default="Unknown") - производитель девайса (например "Apple", "Samsung", "Xiaomi") | ||
| Model string (default="Unknown") - модель девайса (например "G935F", "XS") | Model string (default="Unknown") - модель девайса (например "G935F", "XS") | ||
| Lang string (default="en") - 2х буквенный язык пользователя согласно [[https://en.wikipedia.org/wiki/ISO_639-1]] | Lang string (default="en") - 2х буквенный язык пользователя согласно [[https://en.wikipedia.org/wiki/ISO_639-1]] | ||
| + | |||
| YOB int (default=0) - год рождения пользователя | YOB int (default=0) - год рождения пользователя | ||
| Строка 43: | Строка 46: | ||
| Если параметр 1 рекламная очередь не учитывает прошлые показы рекламы по данному | Если параметр 1 рекламная очередь не учитывает прошлые показы рекламы по данному | ||
| девайсу. (Рекламная очередь формируется с начала) | девайсу. (Рекламная очередь формируется с начала) | ||
| - | AdTypeId int по какому типу рекламы получать очередь. -1 - по всем | + | AdTypeId int по какому типу рекламы получать очередь. -1 - по всем // -2 игнор параметра и использование AdTypeList |
| + | AdTypeList string перечень типов по которым получить очередь | ||
| + | AdmobAppID string Admob ID приложения (Например дантист "8718270263") | ||
| </code> | </code> | ||
| Строка 51: | Строка 56: | ||
| === OK Response === | === OK Response === | ||
| <code> | <code> | ||
| - | type rD struct { | + | type rD struct { |
| - | Data tQueueResp `json:"Data"` | + | Queue []adqueue.TQueueAdtype `json:"Q"` |
| - | Settings TClientSettings `json:"S"` | + | GlobalSettings map[string]string `json:"G"` |
| - | RewardData tRewardData `json:"R"` | + | GlobalSettingsInt map[string]int `json:"C"` |
| - | Error string `json:"E"` | + | RewardData rewarddata.RewardData `json:"R"` |
| - | } | + | Error string `json:"E"` |
| + | RateApp rateapp.TShowData `json:"A"` | ||
| + | Details rateapp.TRateOutput `json:"-"` | ||
| + | CatList TGameList `json:"L,omitempty"` // for game list | ||
| + | AdmobBlocks []TAdmobData `json:"Ab,omitempty"` | ||
| + | } | ||
| </code> | </code> | ||
| **Data** | **Data** | ||
| <code> | <code> | ||
| - | type tQueueResp struct { | + | |
| - | Queue []tQueueAdtype `json:"Q"` | + | |
| - | } | + | |
| type tQueueAdtype struct { | type tQueueAdtype struct { | ||
| Строка 70: | Строка 78: | ||
| Rules (adtype 0,1,2) | Rules (adtype 0,1,2) | ||
| type tRuleResp struct { | type tRuleResp struct { | ||
| - | ID uint16 `json:"I"` | + | ID uint16 `json:"ID"` |
| AdNetworkID int `json:"A"` | AdNetworkID int `json:"A"` | ||
| Limit int `json:"L"` | Limit int `json:"L"` | ||
| Строка 76: | Строка 84: | ||
| ShowTime int `json:"S"` | ShowTime int `json:"S"` | ||
| AdUnitPrice int `json:"P"` | AdUnitPrice int `json:"P"` | ||
| - | AdBlocks []*adblock.TYovoAdResponse `json:"B"` | + | AdBlocks []*adblock.TYovoAdResponse `json:"B,omitempty"` |
| } | } | ||
| type TYovoAdResponse struct { | type TYovoAdResponse struct { | ||
| + | YovoAdId string `json:"Y"` | ||
| ClickURL string `json:"C"` | ClickURL string `json:"C"` | ||
| ScreenshotURLImg string `json:"S"` | ScreenshotURLImg string `json:"S"` | ||
| Строка 87: | Строка 96: | ||
| } | } | ||
| Rules (adtype - 3) | Rules (adtype - 3) | ||
| - | type Game struct { | + | </code> |
| - | Title string `json:"T"` | + | **GameList data** |
| - | Icon string `json:"I"` | + | <code> |
| - | Rating int `json:"R"` | + | type TGameList []TGame |
| - | Redirect string `json:"U"` | + | type TGame struct { |
| + | Cat int `json:"cat"` | ||
| + | R models.EResourceFormat `json:"r"` // rating | ||
| + | AppID []int `json:"appid"` | ||
| + | } | ||
| + | </code> | ||
| + | **Admob data** | ||
| + | <code> | ||
| + | type TAdmobShortDescription struct { | ||
| + | AdblockID string `json:"ID"` | ||
| + | Name string `json:"N"` | ||
| + | PriceLevel int `json:"PL"` | ||
| + | } | ||
| + | type TAdmobData struct { | ||
| + | AdType models.TAdTypeID `json:"A"` | ||
| + | Blocks []TAdmobShortDescription `json:"B"` | ||
| } | } | ||
| + | Example response | ||
| + | "Ab": [ | ||
| + | { | ||
| + | "A": 0, | ||
| + | "B": [ | ||
| + | { | ||
| + | "ID": "4041670415", | ||
| + | "N": "banner_1", | ||
| + | "PL": 2 | ||
| + | }, | ||
| + | { | ||
| + | "ID": "5110552969", | ||
| + | "N": "banner_2", | ||
| + | "PL": 0 | ||
| + | }, | ||
| + | { | ||
| + | "ID": "6878574989", | ||
| + | "N": "banner_0", | ||
| + | "PL": 3 | ||
| + | } | ||
| + | ] | ||
| + | }, | ||
| + | { | ||
| + | "A": 1, | ||
| + | "B": [ | ||
| + | { | ||
| + | "ID": "4308607189", | ||
| + | "N": "inter_2", | ||
| + | "PL": 0 | ||
| + | }, | ||
| + | { | ||
| + | "ID": "6934770522", | ||
| + | "N": "inter_0", | ||
| + | "PL": 3 | ||
| + | }, | ||
| + | { | ||
| + | "ID": "8008179043", | ||
| + | "N": "inter_1", | ||
| + | "PL": 2 | ||
| + | } | ||
| + | ] | ||
| + | } | ||
| + | ] | ||
| </code> | </code> | ||
| Строка 103: | Строка 169: | ||
| type TClientSettings struct { | type TClientSettings struct { | ||
| GlobalSettings map[string]string `json:"G"` | GlobalSettings map[string]string `json:"G"` | ||
| - | AdNetworks []TAdNetworkTypeRelation `json:"N"` | + | AdTypes []TAdTypeNetworkRelation `json:"A"` |
| - | Application TApplicationSettings `json:"A"` | + | |
| } | } | ||
| //GlobalSettings | //GlobalSettings | ||
| Строка 110: | Строка 175: | ||
| GlobalSettings["P"] = "http://sdkpic.yovoads.com" | GlobalSettings["P"] = "http://sdkpic.yovoads.com" | ||
| GlobalSettings["V"] = "http://" + domaincache.GetDomain() | GlobalSettings["V"] = "http://" + domaincache.GetDomain() | ||
| - | //TApplicationSettings app settings | + | "SessionPeriod" = "15" |
| - | type TApplicationSettings struct { | + | "SendCrashReports" = "1" || "0" //если "1" - то высылать креш репорты |
| - | ContentRating string `json:"C"` | + | |
| - | MaxCountPerDay int `json:"D"` | + | |
| - | MinimumPeriodSec int `json:"S"` | + | returnData.GlobalSettings["Banner_Icon_H"]= |
| - | } | + | returnData.GlobalSettings["Banner_Screen_H"] |
| - | // TAdNetworkTypeRelation is a MySQL cache of settings table yovoads.ad_network_type | + | returnData.GlobalSettings["Banner_Screen_W"] |
| - | type TAdNetworkTypeRelation struct { | + | returnData.GlobalSettings["Banner_IO_Screen_H"] |
| - | ID int `json:"I"` | + | returnData.GlobalSettings["Banner_IO_Screen_W"] |
| - | AdTypes []int `json:"A"` | + | returnData.GlobalSettings["Inter_Icon_H"] |
| + | returnData.GlobalSettings["Inter_Screen_H"] | ||
| + | returnData.GlobalSettings["Inter_Screen_W"] | ||
| + | |||
| + | |||
| + | type TAdTypeNetworkRelation struct { | ||
| + | ID int `json:"I"` | ||
| + | AdNetwork []int `json:"A"` | ||
| } | } | ||
| </code> | </code> | ||
| **RewardData** | **RewardData** | ||
| <code> | <code> | ||
| - | type tRewardData struct { | + | type RewardData struct { |
| MaxCountPerDay int `json:"D"` | MaxCountPerDay int `json:"D"` | ||
| - | MinimumPeriodSec int `json:"P"` | + | MinimumPeriodSec int64 `json:"P"` |
| Shows24 int `json:"S"` | Shows24 int `json:"S"` | ||
| NextShow uint64 `json:"N"` | NextShow uint64 `json:"N"` | ||
| - | Ignore bool `json:"I"` | + | Ignore int `json:"I"` |
| } | } | ||
| </code> | </code> | ||