syntax = "proto3";

package bilibili.ad.v1;

import "google/protobuf/wrappers.proto";

// 广告控制
message AdsControlDto {
    // 视频是否有弹幕，如有，需请求弹幕广告
    int32 has_danmu = 1;
    // 有弹幕的分P视频的cid
    repeated int64 cids = 2;
    // 有弹幕的ogv ep
    repeated AdOgvEpDto eps = 3;
}

// 有弹幕的ogv ep
message AdOgvEpDto {
    // 分集epid
    int64 epid = 1;
    // 是否显示 "荐"
    bool has_recommend = 2;
}

// 广告数据
message SourceContentDto {
    // 广告请求id
    string request_id = 1;
    // 广告资源位source ID
    int32 source_id = 2;
    // 广告资源位resource ID
    int32 resource_id = 3;
    // 广告位上报标记,对广告返回数据恒为true
    bool is_ad_loc = 4;
    // 与天马现有逻辑一致, 0有含义
    // 0:内容 1:广告
    google.protobuf.Int32Value server_type = 5;
    // 客户端IP回传拼接
    string client_ip = 6;
    // 广告卡片位置在一刷中的位置, 天马用, 0有含义
    google.protobuf.Int32Value card_index = 7;
    // 广告资源位source 位次
    int32 index = 8;
    // 广告内容
    AdDto ad_content = 9;
}

// 广告内容
message AdDto {
    // 广告创意ID
    int64 creative_id = 1;
    // 广告闭环上报回传数据
    string ad_cb = 2;
    // 额外广告数据
    AdContentExtraDto extra = 3;
    // 广告标记
    int32 cm_mark = 4;
    //
    int64 top_view_id = 5;
    //
    int32 creative_type = 6;
    //
    int32 card_type = 7;
    //
    int32 creative_style = 8;
    //
    int32 is_ad = 9;
    //
    CreativeDto creative_content = 10;
}

// 额外广告数据
message AdContentExtraDto {
    // 动态布局
    string layout = 1;
    // 展现监控url
    repeated string show_urls = 2;
    // 点击监控url
    repeated string click_urls = 3;
    // 弹幕创意列表展示第三方上报
    repeated string danmu_list_show_urls = 4;
    // 弹幕创意列表点击第三方上报
    repeated string danmu_list_click_urls = 5;
    // 弹幕详情页展示第三方上报
    repeated string danmu_detail_show_urls = 6;
    // 弹幕商品添加购物车第三方上报
    repeated string danmu_trolley_add_urls = 7;
    // useWebView默认false
    bool use_ad_web_v2 = 8;
    // app唤起白名单
    repeated string open_whitelist = 9;
    // app下载白名单
    AppPackageDto download_whitelist = 10;
    // 卡片相关信息
    AdCardDto card = 11;
    // 视频播放和弹幕播放上报控制时间 ms
    int32 report_time = 12;
    // 是否优先唤起app store
    int32 appstore_priority = 13;
    // 广告售卖类型
    int32 sales_type = 14;
    // 落地页是否预加载
    int32 preload_landingpage = 15;
    // 是否需要展示风险行业提示
    bool special_industry = 16;
    // 风险行业提示
    string special_industry_tips = 17;
    // 是否展示下载弹框
    bool enable_download_dialog = 18;
    // 是否允许分享
    bool enable_share = 19;
    // 个人空间广告入口类型
    // 1:橱窗 2:商品店铺 3:小程序
    int32 upzone_entrance_type = 20;
    // 个人空间广告入口上报id,橱窗id(当前用Mid)、店铺id或者小程序id
    int32 upzone_entrance_report_id = 21;
    // 分享数据
    AdShareInfoDto share_info = 22;
    // topview图片链接，闪屏预下载用
    string topview_pic_url = 23;
    // topview视频链接，闪屏预下载用
    string topview_video_url = 24;
    // 点击区域
    // 0:表示banner可点击 1:表示素材可点击
    int32 click_area = 25;
    // 店铺
    int64 shop_id = 26;
    // up主
    int64 up_mid = 27;
    // 回传id
    string track_id = 28;
    // 商店直投
    int32 enable_store_direct_launch = 29;
    // DPA2.0商品ID
    int64 product_id = 30;
}

//
message CreativeDto {
    //
    string title = 1;
    //
    string description = 2;
    //
    string image_url = 3;
    //
    string image_md5 = 4;
    //
    string url = 5;
    //
    string click_url = 6;
    //
    string show_url = 7;
    //
    int64 video_id = 8;
    //
    string thumbnail_url = 9;
    //
    string thumbnail_url_md5 = 10;
    //
    string logo_url = 11;
    //
    string logo_md5 = 12;
    //
    string username = 13;
}

// app下载白名单
message AppPackageDto {
    // 包大小(单位bytes)
    int64 size = 1;
    //
    string display_name = 2;
    //
    string apk_name = 3;
    // url
    string url = 4;
    // bili schema url
    string bili_url = 5;
    // 包md5
    string md5 = 6;
    // 包icon
    string icon = 7;
    // 开发者姓名
    string dev_name = 8;
    // 权限地址
    string auth_url = 9;
    // 权限名，逗号隔开
    string auth_name = 10;
    // 版本
    string version = 11;
    // 更新时间,yy-mm-hh格式
    string update_time = 12;
    // 隐私协议标题
    string privacy_name = 13;
    // 隐私协议url
    string privacy_url = 14;
}

// 卡片
message AdCardDto {
    // 卡片类型
    int32 card_type = 1;
    // 标题
    string title = 2;
    // 描述
    string desc = 3;
    // 额外描述
    string extra_desc = 4;
    // 长描述
    string long_desc = 5;
    // 短标题, 弹幕广告目录面板标题
    string short_title = 6;
    // 弹幕/浮层广告的弹幕标题
    string danmu_title = 7;
    // 弹幕/浮层广告的弹幕高度，整型，分母为100
    int32 danmu_height = 8;
    // 弹幕/浮层广告的弹幕宽度，整型，分母为100
    int32 danmu_width = 9;
    // 弹幕/浮层广告生存时间，单位为毫秒
    int32 danmu_life = 10;
    // 弹幕/浮层开始时间，单位为毫秒
    int32 danmu_begin = 11;
    // 背景色值（含透明度）如#80FFFFFF
    string danmu_color = 12;
    // 弹幕/浮层广告H5落地页
    string danmu_h5url = 13;
    // 弹幕/浮层 广告icon
    string danmu_icon = 14;
    // 折叠时间，永驻浮层折叠时间，单位为毫秒
    int32 fold_time = 15;
    // 广告标文案
    string ad_tag = 16;
    // cover数组
    repeated AdCoverDto covers = 17;
    // 卡片跳转链接
    string jump_url = 18;
    //
    string imax_landing_page_json_string = 19;
    // app唤起schema
    string callup_url = 20;
    // univeral link域名
    string universal_app = 21;
    // 原价, 单位为分
    string ori_price = 22;
    // 现价, 同上
    int32 cur_price = 23;
    // 券后/现价 价格描述
    string price_desc = 24;
    // 价格单位符号
    string price_symbol = 25;
    // 券后价格 "1000"
    string goods_cur_price = 26;
    // 原价 "¥1002"
    string goods_ori_price = 27;
    // 开放平台商品
    AdGoodDto good = 28;
    // 打分? 满分为100
    int32 rank = 29;
    // 热度
    int32 hot_score = 30;
    // 按钮
    AdButtonDto button = 31;
    // 广告主logo
    string adver_logo = 32;
    // 广告主name
    string adver_name = 33;
    // 广告主主页链接
    string adver_page_url = 34;
    // 视频弹幕，视频广告用
    repeated string video_barrage = 35;
    // 商业标信息
    AdBusinessMarkDto ad_tag_style = 36;
    // 自动播放视频
    AdAutoPlayVideoDto video = 37;
    // 反馈面板功能模块，屏蔽、投诉、广告介绍
    AdFeedbackPanelDto feedback_panel = 38;
    //
    int64 adver_mid = 39;
    //
    int64 adver_account_id = 40;
    //
    string duration = 41;
    //
    repeated QualityInfo quality_infos = 42;
    // 动态广告文本
    string dynamic_text = 43;
    // 广告主信息
    AdverDto adver = 44;
    // 评分
    int32 grade_level = 45;
}

// 分享
message AdShareInfoDto {
    // 分享标题
    string title = 1;
    // 分享副标题
    string subtitle = 2;
    // 分享图片url
    string image_url = 3;
}

// 广告卡片封面数据
message AdCoverDto {
    // 图片链接
    string url = 1;
    // 动图循环次数
    // 0:无限循环
    int32 loop = 2;
    // 图片点击跳转地址，截至目前为空
    string jump_url = 3;
    // 跳转监测链接， 数组，单个图片的监控，出区别于click_urls，应前端要求。（此字段截至目前为空，使用时需再次确认）
    repeated string report_urls = 4;
    // 图片高度
    int32 image_height = 5;
    // 图片宽度
    int32 image_width = 6;
}

// 按钮
message AdButtonDto {
    // 类型
    // 1:落地页 2:应用唤起 3:应用下载
    int32 type = 1;
    // 按钮文案
    string text = 2;
    // 按钮跳转地址
    string jump_url = 3;
    // 跳转监测链接
    string report_urls = 4;
    // 唤起schema
    string dlsuc_callup_url = 5;
    //游戏id
    int32 game_id = 6;
    //游戏监控字段
    string game_monitor_param = 7;
}

// 商业标信息
message AdBusinessMarkDto {
    // 商业标样式
    // 0:不展示标 1:实心+文字 2:空心框+文字 3:纯文字标 4:纯图片标
    int32 type = 1;
    // 商业标文案
    string text = 2;
    // 商业标文案颜色,如#80FFFFFF RGBA
    string text_color = 3;
    // 夜间模式文字色
    string text_color_night = 4;
    // 背景色
    string bg_color = 5;
    // 夜间模式背景色
    string bg_color_night = 6;
    // 边框色
    string border_color = 7;
    // 夜间模式边框色
    string border_color_night = 8;
    // 图片商业标
    string img_url = 9;
    // 图片高度
    int32 img_height = 10;
    // 图片宽度
    int32 img_width = 11;
    //
    string bg_border_color = 12;
}

// 自动播放视频
message AdAutoPlayVideoDto {
    // avid
    int64 avid = 1;
    // cid
    int64 cid = 2;
    // 分P
    int64 page = 3;
    //
    string from = 4;
    // 是否自动播放
    string url = 5;
    // 是否自动播放
    string cover = 6;
    // 是否自动播放
    bool auto_play = 7;
    // 按钮是否动态变色
    bool btn_dyc_color = 8;
    // 按钮动态变色时间 ms
    int32 btn_dyc_time = 9;
    // 用于做联播是否是同一个视频的id
    int64 biz_id = 10;
    // 开始播放三方监控
    repeated string process0_urls = 11;
    // 播放3S三方监控
    repeated string play_3s_urls = 12;
    // 播放5S三方监控
    repeated string play_5s_urls = 13;
    // 横竖屏
    int32 orientation = 14;
}

// 反馈面板功能模块
message AdFeedbackPanelDto {
    // 面板类型，广告、推广
    string panel_type_text = 1;
    // 反馈面版信息
    repeated AdFeedbackPanelModuleDto feedback_panel_detail = 2;
}

// 反馈面版信息
message AdFeedbackPanelModuleDto {
    // 模块id
    int32 module_id = 1;
    // icon url
    string icon_url = 2;
    // 跳转类型
    // 1:气泡 2:H5
    int32 jump_type = 3;
    // 跳转地址
    string jump_url = 4;
    // 文案
    string text = 5;
    // 二级文案数组
    repeated AdSecondFeedbackPanelDto secondary_panel = 6;
}

// 二级文案
message AdSecondFeedbackPanelDto {
    // 屏蔽理由id
    int32 reason_id = 1;
    // 理由文案
    string text = 2;
}

// 开放平台商品
message AdGoodDto {
    // 电商商品ID
    int64 item_id = 1;
    // 电商SKU ID
    int64 sku_id = 2;
    // 店铺ID
    int64 shop_id = 3;
    // SKU库存
    int64 sku_num = 4;
}

//
message QualityInfo {
    //
    string icon = 1;
    //
    string text = 2;
    //
    bool is_bg = 3;
    //
    string bg_color = 4;
    //
    string bg_color_night = 5;
}

// 广告主信息
message AdverDto {
    //
    int64 adver_id = 1;
    //
    string adver_logo = 2;
    //
    string adver_name = 3;
    //
    int32 adver_type = 4;
    //
    string adver_page_url = 5;
    //
    string adver_desc = 6;
}
