syntax = "proto3";

package bilibili.app.splash.v1;

option java_multiple_files = true;

import "google/protobuf/any.proto";

//
service Splash {
  //
  rpc List (SplashReq) returns (SplashReply);
}

//
message ShowStrategy {
  //
  int32 id = 1;
  //
  int64 stime = 2;
  //
  int64 etime = 3;
}

//
message SplashItem {
  //
  int32 id = 1;
  //
  int32 type = 2;
  //
  int32 card_type = 3;
  //
  int32 duration = 4;
  //
  int64 begin_time = 5;
  //
  int64 end_time = 6;
  //
  string thumb = 7;
  //
  string hash = 8;
  //
  string logo_url = 9;
  //
  string logo_hash = 10;
  //
  string video_url = 11;
  //
  string video_hash = 12;
  //
  int32 video_width = 13;
  //
  int32 video_height = 14;
  //
  string schema = 15;
  //
  string schema_title = 16;
  //
  string schema_package_name = 17;
  //
  repeated string schema_callup_whiteList = 18;
  //
  int32 skip = 19;
  //
  string uri = 20;
  //
  string uri_title = 21;
  //
  int32 source = 22;
  //
  int32 cm_mark = 23;
  //
  string ad_cb = 24;
  //
  int64 resource_id = 25;
  //
  string request_id = 26;
  //
  string client_ip = 27;
  //
  bool is_ad = 28;
  //
  bool is_ad_loc = 29;
  //
  google.protobuf.Any extra = 30;
  //
  int64 card_index = 31;
  //
  int64 server_type = 32;
  //
  int64 index = 33;
  //
  string click_url = 34;
  //
  string show_url = 35;
  //
  int32 time_target = 36;
  //
  int32 encryption = 37;
  //
  bool enable_pre_download = 38;
  //
  bool enable_background_download = 39;
}

//-响应
message SplashReply {
  //
  int32 max_time = 1;
  //
  int32 min_interval = 2;
  //
  int32 pull_interval = 3;
  //
  repeated SplashItem list = 4;
  //
  repeated ShowStrategy show = 5;
}

//-请求
message SplashReq {
  //
  int32 width = 1;
  //
  int32 height = 2;
  //
  string birth = 3;
  //
  string ad_extra = 4;
  //
  string network = 5;
}
