bilibili-API-collect/grpc_api/bilibili/gaia/gw/gw_api.proto

118 lines
4.0 KiB
Protocol Buffer
Raw Normal View History

2021-06-14 01:33:41 +08:00
syntax = "proto3";
package bilibili.gaia.gw;
import "google/protobuf/empty.proto";
// 应用列表上报
service Gaia {
// 应用列表上报
rpc ExUploadAppList(GaiaEncryptMsgReq) returns (UploadAppListReply);
// 拉取rsa公钥
rpc ExFetchPublicKey(.google.protobuf.Empty) returns (FetchPublicKeyReply);
}
//
message FetchPublicKeyReply {
// 版本号
string version = 1;
// RSA公钥
string public_key = 2;
// 公钥过期时间
int64 deadline = 3;
}
message GaiaDeviceBasicInfo {
//平台&应用信息
string platform = 1; //android/ios/web/h5;
string device = 2; //运行设备, 用于区分不同的app, 见客户端传入的对应参数。对于苹果系统device有效值为phone, pad安卓无法区分phone和pad留空即可。
string mobi_app = 3; //包类型用于区分不同的app, 见客户端传入的对应参数mobi_app 对于web端请求请传空
string origin =4; //客户端appkey, 用以区分不同的客户端对应客户端请求参数中的appkey,如果无法获取可传空“”
string app_id = 5; //app产品编号 //产品编号,由数据平台分配,粉=1白=2蓝=3直播姬=4HD=5海外=6OTT=7漫画=8TV野版=9小视频=10网易漫画=11网易漫画lite=12网易漫画HD=13,国际版=14
//应用的版本信息
string sdkver = 6; // SDK版本号 "sdkver": "2.6.6"
string app_version = 7; // app版本 "app_version":"5.36.0"
string app_version_code = 8; // app版本号 "app_version_code":"5360000"
string build = 9; // app版本号见客户端传入的对应参数对于web端请求请传空
//渠道信息
string channel = 10; //渠道标识见客户端传入的对应参数对于web端请求请传空对应chid
//机器硬件信息
string brand =11; //手机品牌,见客户端传入的对应参数;
string model=12; //手机型号,见客户端传入的对应参数
string osver =13; //系统版本,见客户端传入的对应参数
string user_agent=14;
//设备标识信息
string buvid_local = 15; //本地设备唯一标识
string buvid = 16; //设备唯一标识
//登陆用户信息
string mid = 17; //最后一次登陆用户的mid如果无登陆信息传0即可
//本次启动信息
int64 fts = 18; // app首次启动时间 "fts":1530447775661
int32 first = 19; // 是否首次启动 是0 否1
//网络相关的信息
string network = 20; // 网络连接方式, WIFI/CELLULAR/OFFLINE/OTHERNET/ETHERNET "network":"WIFI", ESS_NETWORK_STATE、ACCESS_WIFI_STATE
//string ip = 20;
}
//待加密的pb对象
message DeviceAppList {
// 上报类型
// first_installation:首次安装上报 first_open:每日启动上报
string source = 1;
// 安装的系统程序列表
repeated string system_app_list = 2;
//安装的用户程序列表
repeated string user_app_list = 3;
}
// 加密方式
enum EncryptType{
// 非法值
INVALID_ENCRYPT_TYPE = 0;
// 同客户端人工约定AES加密私钥存储在客户端
CLIENT_AES = 1;
// 客户端随机生成一个用于AES加密的私钥并用服务端下发的RSA公钥来加密
SERVER_RSA_AES = 2;
}
// 负载类型
enum PayloadType {
//非法值
INVALID_PAYLOAD = 0;
//设备app列表对应DeviceAppList
DEVICE_APP_LIST = 1;
}
// 风控通用消息头
message GaiaMsgHeader {
//加密类型
EncryptType encode_type = 1;
//类型
PayloadType payload_type = 2;
//RAS加密后的aes_key
bytes encoded_aes_key = 3;
//当前时间戳(ms)
int64 ts = 4;
}
// 应用列表上报-请求
message GaiaEncryptMsgReq {
// 上报头部
GaiaMsgHeader header = 1;
// 加密数据
bytes encrypt_payload = 2;
}
// 应用列表上报-响应
message UploadAppListReply {
// 上报响应id
string trace_id = 1;
}