// Copyright (c) 2014 Tencent Inc.
syntax = "proto3";

package cn.com.duiba.tuia.dsp.engine.api.dsp.kuaishou.bean;

message KuaishouBidRequest {
  // ADX提供的BidRequest唯一标识
  string id = 1;

  message Impression {
    // BidRequest范围内，Impression唯一标识
    string id = 1;

    // ADX提供的广告位id
    string placement_id = 2;

    // 广告位支持的素材规格列表
    repeated int64 template_ids = 3;

    // 广告位底价，CPM，单位:分
    uint64 cpm_bid_floor = 4;

    // 广告位CPC底价，会发送给DSP, 单位：分/次
    uint64 cpc_bid_floor = 5;

    // 广告位类型
    uint32 placement_type = 6;

    // 广告位支持的计费类型
    repeated CostType support_cost_types = 7;

    // 支持返回bid个数
    uint32 ads_count = 8;

    // 广告位是否支持deep link
    bool support_deep_link = 9;

    // 推广类型
    repeated PromotionType promotion_types = 10;

    // 广告位所属行业类型
    int64 industry_id = 11;
  }

  repeated Impression impressions = 2;

  enum DeviceType {
    DEVICETYPE_UNKNOWN = 0;
    DEVICETYPE_PC = 1;
    DEVICETYPE_MOBILE = 2;
    DEVICETYPE_PAD = 3;
  }

  enum Carrier {
    CARRIER_UNKNOWN = 0;
    CARRIER_CHINAMOBILE = 1;
    CARRIER_CHINAUNICOM = 2;
    CARRIER_CHINATELECOM = 3;
  }

  enum ConnectionType {
    CONNECTIONTYPE_UNKNOWN = 0;
    CONNECTIONTYPE_WIFI = 1;
    CONNECTIONTYPE_2G = 2;
    CONNECTIONTYPE_3G = 3;
    CONNECTIONTYPE_4G = 4;
    CONNECTIONTYPE_5G = 7;
  }

  enum OperatingSystem {
    OS_UNKNOWN = 0;
    OS_IOS = 1;
    OS_ANDROID = 2;
    OS_WINDOWS = 3;
    OS_SYMBIAN = 4;
    OS_JAVA = 5;
  }

  message Device {
    DeviceType device_type = 1;

    OperatingSystem os = 2;

    string os_version = 3;

    string user_agent = 4;

    // 屏幕宽度，单位:像素
    int32 screen_width = 5;

    // 屏幕高度，单位:像素
    int32 screen_height = 6;

    // 屏幕每英寸像素
    int32 dpi = 7;

    Carrier carrier = 8;

    ConnectionType connection_type = 9;

    // 设备的品牌型号
    string brand_and_model = 10;

    // iOS设备的IDFA明文
    string idfa = 11;

    // iOS设备的IDFA明文
    string idfa_md5 = 12;

    // 设备生产厂家
    string manufacturer = 13;

    string oaid = 14;

    string oaid_md5 = 15;

    string imei = 16;

    string imei_md5 = 17;

    repeated string install_app_list =18;
  }

  Device device = 3;

  // 设备联网IP
  string ip = 4;

  message Geo {
    // 纬度 * 1 000 000（火星坐标系）
    int32 latitude = 1;

    // 精度 * 1 000 000（火星坐标系）
    int32 longitude = 2;

    // 经纬度精度半径，单位米
    double accuracy = 3;
  }

  Geo geo = 5;

  message App {
    // App唯一标识，Andorid应用对应其packegname，iOS应用对应其bundle id
    string app_bundle_id = 1;
  }

  App app = 6;


}
enum CostType {
  COSTTYPE_UNKNOWN                            = 0;  // unknown
  COSTTYPE_CPC                                = 1;  // CPC扣费
  COSTTYPE_CPM                                = 4;  // CPM扣费
}

enum PromotionType{
  PROMOTION_TYPE_UNKNOWN=0;
  PROMOTION_TYPE_DEEPLINK_DOWNLOAD =1;
  PROMOTION_TYPE_DEEPLINK =2;
  PROMOTION_TYPE_DOWNLOAD =3;
}

