message Rule { optional string type = 0x1; optional uint32 times = 0x2; optional uint64 interval = 0x3; } message AdRequest { optional string client_language = 0x1; optional string product = 0x2; optional uint32 version = 0x3; optional string type = 0x4; repeated string avoidAds = 0x5; } message AdQueueResponse { repeated AdQueueEntry adQueueEntry = 0x1; } message AdFile { optional string id = 0x1; optional string format = 0x2; } message AdQueueEntry { optional uint64 start_time = 0x1; optional uint64 end_time = 0x2; optional double priority = 0x3; optional string token = 0x4; optional uint32 ad_version = 0x5; optional string id = 0x6; optional string type = 0x7; optional string campaign = 0x8; optional string advertiser = 0x9; optional string url = 0xa; optional uint64 duration = 0xb; optional uint64 expiry = 0xc; optional string tracking_url = 0xd; optional string banner_type = 0xe; optional string html = 0xf; optional string image = 0x10; optional string background_image = 0x11; optional string background_url = 0x12; optional string background_color = 0x13; optional string title = 0x14; optional string caption = 0x15; repeated AdFile file = 0x16; repeated Rule rule = 0x17; }