===== Иницилизация ===== http://q6.yovoads.com/api/init?id=1&token=12345678901234567890123456789012 или http://q6.yovoads.com/api/gs?id=1&token=12345678901234567890123456789012 ==== Post params ==== Test int (default=0) - если параметр есть и он больше ноля то тогда тестовый режим включен SDKVerC* string - версия SDK клиента OSint* int - enum marketplace(0-android, 1-huawei, 2-ios) OSV string (default="Unknown") - версия операционной системы Bundle* string - android packagename приложения/ios itunesid приложения BundleVer* string - версия кода приложения (bundle version code) H* int - высота экрана в пикселях (максимальная по длине сторона является высотой) W* int - ширина экрана в пикселях ScreenOrientation int - enum ( Unknown = 0 Portrait = 1, PortraitUpsideDown = 2, LandscapeLeft = 3, LandscapeRight = 4, AutoRotation = 5 ) GAID* string(40) - Google Advertising ID/для iOS - IDFA; GaidType int (0 - unknown, 1-appid, 2-pubid) Make string (default="Unknown") - производитель девайса (например "Apple", "Samsung", "Xiaomi") Model string (default="Unknown") - модель девайса (например "G935F", "XS") Lang string (default="en") - 2х буквенный язык пользователя согласно [[https://en.wikipedia.org/wiki/ISO_639-1]] YOB int (default=0) - год рождения пользователя Gender string (default="O") - пол пользователя (“M” = male, “F” = female, “O” = omitted = unknown) ResetQueue int (default=0). 0 - не обнулять сценарий. 1 - обнулить. Если параметр 1 рекламная очередь не учитывает прошлые показы рекламы по данному девайсу. (Рекламная очередь формируется с начала) AdTypeId int по какому типу рекламы получать очередь. -1 - по всем // -2 игнор параметра и использование AdTypeList AdTypeList string перечень типов по которым получить очередь AdmobAppID string Admob ID приложения (Например дантист "8718270263") Справочники * [[apiV5Client/enums/device_types|Device_Types]] * [[apiV5Client/enums/networkconn|NetworkConnection_Types]] === OK Response === type rD struct { Queue []adqueue.TQueueAdtype `json:"Q"` GlobalSettings map[string]string `json:"G"` GlobalSettingsInt map[string]int `json:"C"` 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"` } **Data** type tQueueAdtype struct { AdTypeID int8 `json:"A"` Rules []interface{} `json:"R"` } Rules (adtype 0,1,2) type tRuleResp struct { ID uint16 `json:"ID"` AdNetworkID int `json:"A"` Limit int `json:"L"` Value int `json:"V"` ShowTime int `json:"S"` AdUnitPrice int `json:"P"` AdBlocks []*adblock.TYovoAdResponse `json:"B,omitempty"` } type TYovoAdResponse struct { YovoAdId string `json:"Y"` ClickURL string `json:"C"` ScreenshotURLImg string `json:"S"` IconURLImg string `json:"I"` VideoURL string `json:"V"` Title string `json:"T"` Description string `json:"D"` } Rules (adtype - 3) **GameList data** type TGameList []TGame type TGame struct { Cat int `json:"cat"` R models.EResourceFormat `json:"r"` // rating AppID []int `json:"appid"` } **Admob data** 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 } ] } ] **Settings** //TClientSettings is a MySQL cache of settings table and application data type TClientSettings struct { GlobalSettings map[string]string `json:"G"` AdTypes []TAdTypeNetworkRelation `json:"A"` } //GlobalSettings GlobalSettings["RD"] = "http://rd.yovoads.com" GlobalSettings["P"] = "http://sdkpic.yovoads.com" GlobalSettings["V"] = "http://" + domaincache.GetDomain() "SessionPeriod" = "15" "SendCrashReports" = "1" || "0" //если "1" - то высылать креш репорты returnData.GlobalSettings["Banner_Icon_H"]= returnData.GlobalSettings["Banner_Screen_H"] returnData.GlobalSettings["Banner_Screen_W"] returnData.GlobalSettings["Banner_IO_Screen_H"] returnData.GlobalSettings["Banner_IO_Screen_W"] 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"` } **RewardData** type RewardData struct { MaxCountPerDay int `json:"D"` MinimumPeriodSec int64 `json:"P"` Shows24 int `json:"S"` NextShow uint64 `json:"N"` Ignore int `json:"I"` }