syntax = "proto3"; package bilibili.broadcast.v1; import "google/protobuf/empty.proto"; // Push service Push { rpc WatchMessage(google.protobuf.Empty) returns (stream PushMessageResp); } // enum LinkType { LINK_TYPE_UNKNOWN = 0; // 未知 LINK_TYPE_BANGUMI = 1; // 番剧 LINK_TYPE_VIDEO = 2; // 视频 LINK_TYPE_LIVE = 3; // 直播 } // message PageBlackList { // string id = 1; } // message PageView { // string id = 1; } // message PushMessageResp { // 业务类型 enum Biz { // 未知 BIZ_UNKNOWN = 0; // 视频 BIZ_VIDEO = 1; // 直播 BIZ_LIVE = 2; // 活动 BIZ_ACTIVITY = 3; } // 消息类型 enum Type { // 未知 TYPE_UNKNOWN = 0; // 默认 TYPE_DEFAULT = 1; // 热门 TYPE_HOT = 2; // 实时 TYPE_REALTIME = 3; // 推荐 TYPE_RECOMMEND = 4; } // 展示未知 enum Position { // 未知 POS_UNKNOWN = 0; // 顶部 POS_TOP = 1; } // Deprecated: 推送任务id,使用string int64 old_taskid = 1; // 业务 // 1:是视频 2:是直播 3:是活动 Biz biz = 2; // 类型 // 1:是默认 2:是热门 3:是实时 4:是推荐 Type type = 3; // 主标题 string title = 4; // 副标题 string summary = 5; // 图片地址 string img = 6; // 跳转地址 string link = 7; // 展示位置,1是顶部 Position position = 8; // 展示时长(单位:秒),默认3秒 int32 duration = 9; // 失效时间 int64 expire = 10; // 推送任务id string taskid = 11; // 应用内推送黑名单 // UGC: ugc-video-detail // PGC: pgc-video-detail // 一起看: pgc-video-detail-theater // 直播: live-room-detail // Story: ugc-video-detail-vertical // 播单黑名单 playlist-video-detail repeated PageBlackList page_blackList = 12; // 预留pvid repeated PageView page_view = 13; // 跳转资源 TargetResource target_resource = 14; // int32 image_frame = 15; // int32 image_marker = 16; // int32 image_position = 17; // int64 job = 18; } // message TargetResource { //直播: roomid //UGC: avid //PGC: seasonid //Story: avid //举个例子 //Type: LINK_TYPE_BANGUMI (番剧) //Resource: {"seasonid":"123"} // //Type: LINK_TYPE_VIDEO (视频) //Resource: {"avid":"123"} // //Type: LINK_TYPE_LIVE (直播) //Resource: {"roomid":"123"} // LinkType Type = 1; // map Resource = 2; }