本文档介绍了在增长分析(DataFinder)产品私有化部署场景下,开发同学如何访问Kafka Topic中的流数据,以便进一步进行数据分析和应用,比如实时推荐等。
kafka消费只支持内网环境消费,在开始之前,需要提前准备好如下输入:
说明
Consumer Group为您根据订阅需求自行规划并定义的,可根据规划确认使用哪个Consumer Group。
您可以根据需要选择不同的方式订阅流数据。
kafka自带的工具,订阅kafka流数据,并输出到console终端,一般用于查看数据格式、排查数据问题等场景下,以下给出两种示例(不同的Kafka版本使用方式不一样),更多参数可以参考kafka官方手册。
/opt/tiger/kafka/bin/kafka-console-consumer.sh --zookeeper ${zk_host1}:2181,${zk_host2}:2181,${zk_host3}:2181/kafka_vpc_lf --topic behavior_event /opt/tiger/kafka/bin/kafka-console-consumer.sh --bootstrap-server ${broker_host1}:9192,${broker_host2}:9192,${broker_host3}:9192 --topic behavior_event
说明
sd lookup vpc.zookeeper
命令查询当前zookeeper机器的IP地址)。sd lookup kafka_vpc
命令查询当前Kafka Broker机器的IP地址)。查询操作示例如下:
添加Maven依赖,如下:
<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>0.10.1.0</version> </dependency>
代码示例:
public static void main() { Properties properties = new Properties(); // broker list获取方式: sd config kafka_vpc properties.put("bootstrap.servers", "127.0.0.1:9092"); properties.put("group.id", "test_group"); properties.put("auto.offset.reset", "earliest"); properties.put("key.deserializer", "org.apache.kafka.common.serialization.ByteArrayDeserializer"); properties.put("value.deserializer", "org.apache.kafka.common.serialization.ByteArrayDeserializer"); KafkaConsumer<byte[], byte[]> kafkaConsumer = new KafkaConsumer<byte[], byte[]>(properties); kafkaConsumer.subscribe(Collections.singletonList("behavior_event")); System.out.println(properties); System.out.println("consumer beginning "); while (true) { ConsumerRecords<byte[], byte[]> records = kafkaConsumer.poll(Duration.ofMillis(100)); for (ConsumerRecord<byte[], byte[]> record : records) { System.out.println("value " + JsonIterator.deserialize(record.value())); } kafkaConsumer.commitAsync(); } }
以下为您介绍核心参数的配置要点,具体API及可配置参数详细参见官网文档:KafkaConsumer。
参数 | 配置说明 |
---|---|
bootstrap.servers | Broker机器的IP地址,您可以执行 |
group.id | 配置为准备工作中已获取的ConsumerGroup的消费者组ID。 |
其他配置参数,例如key.deserializer、value.deserializer指定用于反序列化消息键和值的类;自动提交偏移量(enable.auto.commit
)、偏移量重置策略(auto.offset.reset
)等可参考kafka官网文档,结合业务需要进行修改配置。
拆分后的普通事件,一条数据为一个事件,示例数据如下:
{ "user": { "user_unique_id": "", "user_id": 6856268895636305000, "user_type": 14, "user_is_auth": false, "user_is_login": false, "device_id": 6856268895636305000, "open_udid": "d64f0ca561281525", "udid": "352531083776797", "client_udid": "059f3ec8-5db8-45ac-8004-172f67b65349", "mc": "4A:5D:D8:ED:9B:D0", "build_serial": "", "is_upgrade_user": false, "ip_addr_id": 0, "ssid": "9b03c884-3e85-47fe-b8cb-5faadd0d2e7f", "cdid": "54822291-8636-471a-b138-7d29ae3fff05" }, "header": { "app_id": 10000023, "app_name": "cuckoo", "app_version": "5.4.0", "app_package": "com.dp.rangersapplog.cucoo", "display_name": "cuckoo", "app_channel": "cuckoo", "access": "wifi", "client_ip": "0.0.0.0", "carrier": "", "os_name": "android", "os_version": "10", "product_id": 107, "product_name": "default_to_b", "install_id": 6856268895636555000, "custom": "{\"touch_point\":\"app端\",\"max_play_id\":101,\"sdk_version_name\":\"5.4.0-rc.6\",\"bd_did\":\"6856268895636304904\",\"register_time\":1602836059317,\"max_play_lev\":103,\"getui_client_id\":\"9513dac1ea0bbc390fab090b6c08588b\",\"play_id\":4689475,\"play_lev\":102,\"sdk_version_code\":15039655,\"max_lev\":100,\"lev\":10,\"Age\":93}", "trace_id": "16028372406990420010101342956870", "version_code": 5040000, "update_version_code": 5040000, "sig_hash": "92d33424fc6379b5e99d821f86ba70c8", "app_language": "zh-cn", "language": "zh", "app_region": "cn", "region": "CN", "device_model": "Pixel 3", "device_brand": "google", "device_manufacturer": "Google", "resolution": "2160x1080", "display_density": "xxhdpi", "density_dpi": 440, "cpu_abi": "armeabi-v7a", "timezone": 8, "tz_name": "Asia/Shanghai", "tz_offset": 28800, "os_api": 29, "rom": "6254899", "rom_version": "QQ2A.200405.005", "manifest_version_code": 5040000, "sim_serial_number": "[]", "platform": "Android", "ab_version": "30", "ab_sdk_version": "30", "sdk_version": 5040056, "app_version_minor": "5.3.1.1" }, "event_name": "app_launch", // app_terminate "datetime": 1602837239, "server_time": 1602837240, "session_id": "e3000313-fb08-430b-8fc5-d6c94b63ca08", "is_background": true, "local_time_ms": 1602837239623, "tea_event_index": 10001, "log_type": "launch", "debug_flag": false, "seq_id": 0, "uuid_changed": false, "duration": 123 // 一般app_terminate才会有 }
{ "user": { "user_unique_id": "mock_user_unique_id", "user_id": 6934486383370142000, "user_type": 13, "user_is_auth": false, "user_is_login": false, "is_upgrade_user": false, "web_id": 6934486383370142000, "ip_addr_id": 0, "ssid": "acf3dd8f-7a18-42b1-996b-56a20156249c" }, "header": { "app_id": 10000010, "app_name": "mock_web", "access": "", "client_ip": "221.122.122.122", "carrier": "", "os_name": "mac", "os_version": "10_15_5", "product_id": 107, "product_name": "default_to_b", "custom": "{\"app_id\":10000010,\"screen_width\":1440,\"screen_height\":900}", "trace_id": "16015901108710420012361360828522", "language": "zh-CN", "device_model": "Macintosh", "resolution": "1440x900", "width": 1440, "height": 900, "timezone": 8, "tz_offset": -28800, "platform": "web", "browser": "Chrome", "browser_version": "78.0.3904.108", "referrer": "", "referrer_host": "" }, "params": "{\"app_name\":\"mock_web\",\"referrer\":\"\",\"user_unique_id\":\"\",\"time\":1601590110322,\"is_bav\":1,\"title\":\"测试页面\",\"event_index\":1616590857270,\"url\":\"http://demo.com.cn/product/list\",\"url_path\":\"/product/list\"}", "event_name": "predefine_pageview", "session_id": "aa7b79a1-4e27-44fe-bed8-56adfffddc07", "datetime": 1601590110, "server_time": 1601590110, "rnd": "ne0000", "log_type": "mario_event", "local_time_ms": 1601590110322, "debug_flag": false, "seq_id": 0 }
{ "user": { "user_unique_id": "", "user_id": 6921660559838553000, "user_type": 14, "user_is_auth": false, "user_is_login": false, "device_id": 6921660559838553000, "open_udid": "eeb9b2ade448e45f", "udid": "868427030157438", "client_udid": "e2fa99c3-1d5f-4562-9a89-feb1asdad29c", "mc": "98:9C:57:1A:F5:91", "build_serial": "68U5T18127000638", "serial_number": "68U5T18127000638", "is_upgrade_user": false, "ip_addr_id": 0, "ssid": "a58e9d92-ae98-4qw4-9c83-8565c567249b", "oaid": "ddqweb77-fafd-a4cb-1dba-ebfqweff41c4", "cdid": "4f723fbd-1225-4f8b-9598-991asda3df55" }, "header": { "app_id": 10000005, "app_name": "new_app", "app_version": "5.5.5", "app_package": "com.dp.rangersapplog.cucoo", "display_name": "cuckoo", "app_channel": "cuckoo", "access": "wifi", "client_ip": "112.95.158.82", "carrier": "", "os_name": "android", "os_version": "8.0.0", "product_id": 107, "product_name": "default_to_b", "install_id": 6921660559838557000, "custom": "{\"sdk_lib\":\"Android\"}", "trace_id": "16113771507650420010131120347364", "version_code": 5050500, "update_version_code": 5050500, "sig_hash": "eabf93fca5de07dc5cbeda189dcea208", "app_language": "zh-cn", "language": "zh", "app_region": "cn", "region": "CN", "device_model": "RNE-AL00", "device_brand": "HUAWEI", "device_manufacturer": "HUAWEI", "resolution": "2160x1080", "display_density": "xxhdpi", "density_dpi": 480, "cpu_abi": "armeabi-v7a", "timezone": 8, "tz_name": "Asia/Shanghai", "tz_offset": 28800, "os_api": 26, "rom": "EMUI-EmotionUI_8.0.0-371(C00)", "rom_version": "EmotionUI_8.0.0_RNE-AL00 8.0.0.371(C00)", "manifest_version_code": 5050500, "sim_region": "cn", "sim_serial_number": "[{\"sim_serial_number\":\"89860119842110918764\"}]", "platform": "Android", "sdk_version": 5050590, "app_version_minor": "5.3.1.1" }, "params": "{\"tea_event_index\":10193,\"page_key\":\"com.dp.rangersapplog.cucoo.CaseActivity\",\"element_width\":168,\"touch_x\":84,\"element_height\":168,\"touch_y\":84,\"nt\":4}", "event_name": "share", "session_id": "92f80d8a-64d8-4696-a300-ad6ada87da43", "datetime": 1611377149, "server_time": 1611377150, "rnd": "ne0004", "log_type": "mario_event", "local_time_ms": 1611377149294, "debug_flag": false, "seq_id": 4 }
从origin_event拆分后的用户属性,一条数据为一个用户属性事件,对于用户数据以及业务对象数据只需要关注params这个字段即可,里面的内容即为上报的用户属性以及业务对象的属性。示例数据如下:
{ "user": { "user_unique_id": "", "device_id": 6855290498909682000, "ssid": "57dc0cf5-660f-4913-823b-8f3991943087" }, "header": { "app_id": 10000023, "app_name": "cuckoo", "app_version": "5.4.0", "app_package": "com.dp.rangersapplog", "display_name": "cuckoo", "app_channel": "cuckoo", "access": "wifi", "client_ip": "0.0.0.0", "carrier": "", "os_name": "android", "os_version": "10", "product_id": 107, "product_name": "default_to_b", "install_id": 6855290498912881000, "custom": {}, "trace_id": "16027970298250420010101092968888", "version_code": 5040000, "update_version_code": 5040000, "sig_hash": "92d33424fc6379b5e99d821f86ba70c8", "app_language": "zh-cn", "language": "zh", "app_region": "cn", "region": "CN", "device_model": "EML-AL00", "device_brand": "HUAWEI", "device_manufacturer": "HUAWEI", "resolution": "2244x1080", "display_density": "xxhdpi", "density_dpi": 480, "cpu_abi": "armeabi-v7a", "timezone": 8, "tz_name": "Asia/Shanghai", "tz_offset": 28800, "os_api": 29, "rom": "EMUI-EmotionUI_10.0.0-10.0.0.176C00", "rom_version": "EmotionUI_10.0.0_EML-AL00 10.0.0.176(C00E175R1P4)", "manifest_version_code": 5040000, "sim_serial_number": "[]", "sdk_version": 5040056, "app_version_minor": "5.3.1.1" }, "params": "{\"vip_level\":3,\"udid\":\"a5ec543efa563d9f20e2dd29793d5004\",\"test_param\":4}", "event_name": "__profile_set", "session_id": "eb8597ba-d06e-4d11-a79e-3c50d8d39c97", "datetime": 1602797001, "server_time": 1602797029, "rnd": "ne0001", "log_type": "mario_event", "local_time_ms": 1602797001950, "debug_flag": false, "seq_id": 1 }
由广告监测相关服务处理后,unify后的原始数据,样例数据如下:
{ "event": "activation", // 广告事件名称,可选:click/impression/activation "client_time": 1639540808, // 客户端时间(秒) "client_time_ms": 1639540808000, // 客户端时间(毫秒) "server_time": 1639540808, // 服务端时间(秒) "app_id": 10000, // app id "app_name": "ec_demo_app", "os": "android", // 操作系统 "date": "20211215", // 日期 "abnormal": 1, // 是否作弊,0:否,1: 是 "cheat_type": "bot", // 作弊类型 "tracer_unique_id": "743b8e11969d508413c3e28f40085f8c", "extra": "", "user_device_meta": { // 用户和设备号信息,map存储 "ssid": "12345-0863-4315-9427-6787878", // 自然人ID "user_unique_id": "376236813769581", // user ID "device_id": "122534546456546", // device ID "tracer_device_id": "80d07226-6182-4dc8-ba24-33f6bcd3ccaa", "ip": "10.162.20.0", // 客户端IP "ua": "Dalvik/2.1.0 (Linux; U; Android 7.1.2; zh-CN; vivo X520A Build/NRD90M)", // Http user Agent "androidid_upper": "19BFF5200B4DAC2F", // 大写后的Android ID "androidid_md5": "f3c103295264edd9498cad5f45b64a68", "imei": "test_565490101830995", // imei原文 "imei_md5": "35829ac0a4292e85930f72682c69bc54", "oaid": "155139728247", // oaid原文 "oaid_md5": "251118a22c4cb17c4f92f0cd928b353b", "googleaid": "0dc914a3-8527-4a5d-bbcc-358e749da4f1", // Google Advertising ID "googleaid_md5": "c477e00f1990157e945c742db9fa984a" }, "int_params": { "lc_time_delta": 9, "touch_timestamp": 1639540799, // 触点时间 }, "string_params": { // strings事件属性相关,map存储 "platform": "app", // 平台,app/web/mp "app_channel": "自然激活", // 渠道号 "device_model": "vivo X520A", // 设备型号 "device_brand": "vivo", // 设备品牌 "os_version": "7.1.2", // 系统版本 "network_carrier": "T-mobile", // 网络运营商 "resolution": "320*570", // 分辨率 "app_version": "0.85", // app版本 "network_type": "3G", // 网络类型 "language": "zh", // 语言 "package": "android.com.demo", // 包名 "os_name": "android", // 系统 "install_type": "reinstall", // 原始激活安装类型,first_install/reinsgall // 下面只有激活有,且仅当归因成功才有 "touch_type": "click", // 触点类型(click/impression) "attribution_strategy": "precise", // 归因匹配类型(precise/vague) "tracer_unique_id": "743b8e11969d508413c3e28f40085f8c", "campaign_id": "958821553546", // 广告组ID "campaign_name": "佩蒠戒臚軚豉濷裘吽烔", // 广告组名称 "ad_id": "8478618928013276", // 广告计划ID "ad_name": "疌败謿瑶錉莳祃覮", // 广告计划名 "creative_id": "77998801431416797919", // 广告创意ID "creative_name": "櫮防讹贠磬鱝尛鬯簕醔胎鯎", // 广告创意名 "tr_site_id": "10001", // 广告二级渠道ID "tr_site_name": "西瓜视频", // 广告二级渠道名 "activation_type": "promotion", // 激活类型,promotion/organic "tr_install_type": "new", // 推广应用安装类型(new/retarribution/new_by_reinstall) "activation_channel": "自然激活", // 激活渠道,即渠道号 "utm_campaign": "TR_wLTKDDi6", // 推广活动原始Code "utm_source": "toutiao", // 推广渠道原始Code }, "int_profiles": {}, "string_profiles": { // strings用户属性相关字段,map类型,会将其上报用户属性,关联行为事件 "campaign_id": "958821553546", "campaign_name": "佩蒠戒臚軚豉濷裘吽烔", "ad_id": "8478618928013276", "ad_name": "疌败謿瑶錉莳祃覮", "creative_id": "77998801431416797919", "creative_name": "櫮防讹贠磬鱝尛鬯簕醔胎鯎", "tr_site_id": "10001", "tr_site_name": "西瓜视频", "activation_type": "promotion", "tr_install_type": "new", "activation_channel": "自然激活", "utm_campaign": "TR_wLTKDDi6", "utm_source": "toutiao" }, "original_activation": {} // 原始激活流数据 }
以下字段不保证在每一条行为日志中都是全量采集的
Event { User user; // 用户信息,见下面User结构 Header header; // 公共事件属性,见下面Header结构 string params; // 事件参数,单层json map, string extras // 单层json map,可以理解为launch和terminate事件专用的params string event_name; // 事件名 uint64 event_id; // 事件id,废弃 string session_id; // 会话id uint64 datetime; // 事件发生时间戳(秒),废弃 uint64 server_time; // 日志到达服务器时间(秒) string rnd; // 废弃 string log_type; // 日志类型,launch代表app_launch事件,termiate代表app_terminate事件,mario_event代表其他事件 uint64 local_time_ms; // 事件发生时间戳(毫秒) bool staging_flag; // 是否是内部测试数据 bool debug_flag; // 废弃 uint32 seq_id; // 废弃 string event_priority; // 埋点分级 uint32 duration; //会话时长,一般在app_terminate事件才有 bool uuid_changed; //废弃 bool is_background; // 是否后端启动事件,一般为true的会被finder过滤 } User { string user_unique_id; // 用户唯一id uint64 user_id; // 用户id。废弃 uint32 user_type; // 用户类型,废弃 bool user_is_auth; // 是否授权,废弃 bool user_is_login; // 是否登录,废弃 uint64 device_id; // 设备id string open_udid; // openudid,android设备特征 string udid; // udid,废弃 string client_udid; // 客户端自己生成的设备id string mc; // 设备mac地址 string build_serial; // 硬件序列号 string serial_number; // 序列号 string idfa; // idfa bool is_upgrade_user; // 是否app升级用户,废弃 uint64 web_id; // web端的唯一id uint64 ip_addr_id; //废弃 string ssid; // 唯一标准id string idfv; // ios的一个设备特征 string oaid; // android设备特征 string cdid; // 废弃 string pgl_oaid; // 广告专用字段pgl_oaid,废弃 uint64 origin_user_id; // 宿主用户id,废弃 uint32 origin_user_type; // 宿主用户类型,废弃 string user_unique_id_type; // user_unique_id字段口径,tob场景使用,为空或default_user_unique_id_type为默认口径 } Header { string headers; // 自定义header,单层json map,废弃 uint32 app_id; // app_id string app_name; // app名称 string app_version; // app版本 string app_package; // app包名称 string display_name; // app名称 string app_channel; // app分发渠道 string access; // 网络访问类型 string client_ip; // 客户端ip string carrier; // 运营商 string os_name; // 系统名称 string os_version; // 系统版本 uint32 product_id; // 产品id,废弃 string product_name; // 产品名称,废弃 uint64 install_id; // app升级id,废弃 string caller; // 废弃 string custom; // 自定义事件公共属性单层json map, string trace_id; // 废弃 uint32 client_port; // 客户端端口号 string data_center; //上报机房,废弃 string app_key; // 应用key uint32 version_code; // 版本号 string sig_hash; // sig_hash,废弃 uint32 update_version_code; // 内部更新版本号,废弃 string vendor_id; // ios app发行商id string app_language; // app语言 string language; // 系统语言 string app_region; // app设置地区 string region; // 系统设置地区 string vid; // vid,废弃 string traffic_type; // 废弃 string carrier_region; // 废弃 string device_model; // 设备型号 string device_brand; // 设备品牌 string device_manufacturer; // 设备制造商 string resolution; // 屏幕分辨率 string display_density; // 屏幕像素显示级别 uint32 density_dpi; // 屏幕像素显示密度 sint32 width; // 屏幕宽度 sint32 height; // 屏幕宽度 string cpu_abi; // cpu类型 uint32 origin_app_id; // 中台重置的原始app_id,废弃 string origin_app_name; // 中台重置的原始app_name,废弃 float timezone; // 时区 string tz_name; // 时区名称 sint32 tz_offset; // 时区偏差 string mcc_mnc; // 国家+运行商标记 uint32 os_api; // 客户端系统API版本号 string rom; // rom string rom_version; // rom版本 string release_build; // release_build,废弃 uint32 manifest_version_code; // Android配置版本号,废弃 string sim_region; // sim地区 string sim_serial_number; // sim序列号 bool is_jailbroken; // 设备是否越狱 uint32 push_sdk; // 支持的推送sdk,废弃 string push_os; // 支持的推送os,废弃 string platform; // 平台类型 string province; // 省 string city; // 市 string ab_version; // 客户端ab版本号,废弃 string ab_group; // 客户端ab所在的组,废弃 string ab_feature; // 客户端ab特征,废弃 string ab_client; // ab实验的实验中版本,废弃 string ab_sdk_version; // 客户端ab的SDK版本号,示例:12,32 string utm_source; // 广告来源 uint32 sdk_version; // FinderSDK版本号,废弃 bool not_request_sender; // Applog配置项目,是否返回通道信息,废弃 string user_agent; // user_agent,http header下的字段 bool gcm_available; // 废弃 string utm_medium; // 广告媒介 string utm_campaign; // 广告名称 uint64 campaign_id; // 广告组id,废弃 uint64 ad_id; // 广告id,废弃 uint64 creative_id; // 创意id,废弃 string browser; // 浏览器类型 string browser_version; // 浏览器版本 string referrer; // 来源页面 string referrer_host; // 来源页面的host string app_version_minor; // 4位版本号,示例3.2.1.2 string utm_term; // 广告关键词 string utm_content; //广告内容 string sdk_version_v2; //string类型sdk版本 string pgl_oaid [deprecated=true]; //广告专用字段,废弃 string tracer_data; // SDK tracer自定义字段,json串,用户上报广告监测相关属性 string sdk_lib; // 值为:"Android"或者"IOS",废弃 uint64 harmony_os_api; // 524~530为鸿蒙系统特有标识 string harmony_os_version; // 鸿蒙系统版本 string harmony_release_type; // 鸿蒙发布版本 uint64 harmony_build_version; // 鸿蒙编译版本 uint64 harmony_major_version; // 鸿蒙主版本 uint64 harmony_senior_version; //鸿蒙小版本 uint64 harmony_feature_version; // 鸿蒙特征版本 bool is_cheat; //是否为作弊流量(是否命中反作弊反爬等),废弃 }
message Event { string event = 1; //事件类型,如点击/展示/激活 uint32 client_time = 2; //客户端时间戳(秒),事件发生的事件 uint64 client_time_ms = 3; //客户端时间戳(毫秒) uint32 server_time = 4; //服务端时间(秒) uint32 app_id = 5; //应用云 App ID(应用接入app id) string app_name = 6; //应用英文名称 string os = 7; //操作系统 string date = 8; //事件日期, 基于“客户端”时间生成 uint32 abnormal = 9; //反作弊标识 string cheat_type = 10; //反作弊一级类型 string tracer_unique_id = 11; //根据事件内容生成的唯一ID标识(md5摘要) string extra = 12; // json字符串,主要用于debug,下游不需要关心 User_device_meta user_device_meta = 13; //用户和设备元数据 Int_params int_params = 14; // int事件属性 String_params string_params = 15; // string事件属性 Float_params float_params = 16; // float事件属性 Int_profiles int_profiles = 17; // int用户属性 String_profiles string_profiles = 18; // string用户属性 Float_profiles float_profiles = 19; // float用户属性 Original_activation original_activation = 20; //原始tob激活流 } message User_device_meta { string ssid = 1; //标识一个自然人 string user_unique_id = 2; string device_id = 3; //设备激活流中的device_id字段转成string,设备标识 string tracer_device_id = 4; //业务使用设备号或者设备指纹信息生成的did,和sdk带上来的device_id不是一个值 string bd_did = 5; // tob版的did string ip = 6; //客户端ip地址 string ua = 7; // http user agent string idfa_upper_withdash = 8; //大写的带中杠线的idfa string idfa_md5 = 9; // idfa的md5值 string idfv_upper_withdash = 10; //大写的带中杠线的idfv string idfv_md5 = 11; // idfv的md5值 string caid1 = 12; //中国广告协会互联网广告标识(版本1: 20201230) string caid1_md5 = 13; string caid2 = 14; //中国广告协会互联网广告标识(版本2: 暂无) string caid2_md5 = 15; string androidid_upper = 16; // androidid大写 string androidid_md5 = 17; // androidid的md5值 string imei = 18; // imei值:手机序列号 string imei_md5 = 19; //"imei值md5 string oaid = 20; // oaid是具有中国特色的GoogleAid string oaid_md5 = 21; // oaid的md5 string googleaid = 22; //谷歌广告ID string googleaid_md5 = 23; //谷歌广告ID的md5值 } message Int_params { uint32 lc_time_delta = 1; //点击到激活的时间差(单位为秒), 用于计算激活延迟分布 uint32 touch_timestamp = 2; //为了计算活跃和回流安装激活 } message String_params { string app_platform = 1; //端的概念,比如:移动应用/web/mp string platform = 2; //端的概念,比如:移动应用/web/mp string app_channel = 3; //激活安装渠道,为了兼容查询而做 string activation_channel = 4; //激活安装渠道,为了给下有profile上报所用 string device_model = 5; //设备型号 string device_brand = 6; //设备品牌 string os_version = 7; //操作系统版本 string network_carrier = 8; //电信运营商 string resolution = 9; //设备分辨率 string os_name = 10; //操作系统 string app_version = 11; // app版本号 string network_type = 12; //网络类型 string language = 13; //客户端语言 string package = 14; //安装包名 string utm_campaign = 15; //广告推广活动code string utm_source = 16; //广告推广渠道code string utm_medium = 17; //广告推广媒介 string utm_term = 18; //广告推广字词 string utm_content = 19; //广告推广内容 string tr_shareuser = 20; //广告分享用户 string tr_admaster = 21; //广告优化师 string tr_param1 = 22; //广告自定义参数1 string tr_param2 = 23; //广告自定义参数2 string tr_param3 = 24; //广告自定义参数3 string tr_param4 = 25; //广告自定义参数4 string account_id = 26; //广告账户ID string account_name = 27; //广告账户名称 string campaign_id = 28; //广告组ID string campaign_name = 29; //广告组名称 string ad_id = 30; //广告计划ID string ad_name = 31; //广告计划名称 string creative_id = 32; //广告创意ID string creative_name = 33; //广告创意名称 string convert_id = 34; //转化跟踪ID,目前只有巨量引擎有 string conv_type = 35; //巨量引擎转化类型 string report_oceanengine_profile = 36; //是否上报profile字段, 业务不需处理 string tr_site_id = 37; //广告二级渠道ID string tr_site_name = 38; //广告二级渠道名称,如抖音 string block_stage = 39; //反作弊拦截阶段:离线还是实时 string sub_cheat_type = 40; //二级作弊类型 string install_type = 41; // tob激活安装类型 string touch_type = 42; //归因触达类型 string attribution_strategy = 43; //归因成功的策略 string activation_type = 44; //激活类型 string tr_install_type = 45; //应用安装类型 string kol_user_id = 46; // kol用户ID,给任务台定制 string kol_user_name = 47; // kol用户名,给任务台定制 string kol_video_id = 48; // kol视频ID,给任务台定制 string kol_video_name = 49; // kol视频名,给任务台定制 } message Float_params {} message Int_profiles {} message String_profiles { string activation_channel = 1; //激活安装渠道,为了给下有profile上报所用 string utm_campaign = 2; //广告推广活动code string utm_source = 3; //广告推广渠道code string utm_medium = 4; //广告推广媒介 string utm_term = 5; //广告推广字词 string utm_content = 6; //广告推广内容 string tr_shareuser = 7; //广告分享用户 string tr_admaster = 8; //广告优化师 string tr_param1 = 9; //广告自定义参数1 string tr_param2 = 10; //广告自定义参数2 string tr_param3 = 11; //广告自定义参数3 string tr_param4 = 12; //广告自定义参数4 string report_oceanengine_profile = 13; //是否上报profile字段, 业务不需处理 string account_id = 14; //广告账户ID string account_name = 15; //广告账户名称 string campaign_id = 16; //广告组ID string campaign_name = 17; //广告组名称 string ad_id = 18; //广告计划ID string ad_name = 19; //广告计划名称 string creative_id = 20; //广告创意ID string creative_name = 21; //广告创意名称 string tr_site_id = 22; //广告二级渠道ID string tr_site_name = 23; //广告二级渠道名称,如抖音 string activation_type = 24; //激活类型 string tr_install_type = 25; //应用安装类型 string kol_user_id = 26; // kol用户ID,给任务台定制 string kol_user_name = 27; // kol用户名,给任务台定制 string kol_video_id = 28; // kol视频ID,给任务台定制 string kol_video_name = 29; // kol视频名,给任务台定制 } message Float_profiles {} message Original_activation { uint32 id = 1; //安装id uint32 from_id = 2; //上一次安装的安装id。若是首次安装,则为0 uint32 device_id = 3; //设备id string bd_did = 4; // tob版的设备id string app_version = 5; // app版本,一般为x.y.z格式 uint32 app_id = 6; // app id string app_name = 7; // app名称 string os = 8; //操作系统 string package = 9; //包名 string channel = 10; //安装渠道 uint32 time_ts = 11; //激活时间戳 string time = 12; //激活时间 uint32 to_kafka_time = 13; //发送激活消息的时间戳 uint32 install_time_ts = 14; //本次激活对应的安装创建时间戳 string install_time = 15; //本次激活对应的安装创建时间 string ip = 16; //激活请求的客户端ip string tz_name = 17; //时区名 string device_brand = 18; //设备品牌 string app_version_minor = 19; //次版本号,形如2.3.1.4 uint32 timezone = 20; //时区,北京时区(东8区)为8 string rom = 21; //安卓系统rom,如eng.compil.20190319.165552 string display_density = 22; //安卓系统分辨率等级(dpi),如mdpi string os_api = 23; //安卓系统api版本号,安卓8为26,安卓8.1为27,安卓9为28 uint32 update_version_code = 24; //更新版本号 string tz_offset = 25; //时区相对UTC的秒级偏移 string sim_region = 26; // sim地区,取自设备激活请求上报的sim_region参数 string access = 27; //网络类型 string os_version = 28; //操作系统版本 string sdk_version = 29; // sdk版本 string city = 30; //城市 string app_region = 31; // app设置地区 repeated google.protobuf.Any sim_serial_number = 32; // sim序列号 uint32 is_upgrade_user = 33; //是否为升级用户 string app_language = 34; // app设置语言 string display_app_name = 35; // app展示名称 string language = 36; //语言 string mc = 37; // mac地址 string resolution = 38; //屏幕分辨率 string region = 39; //地区 bool is_jailbroken = 40; //是否越狱(iOS) string carrier = 41; //电信运营商 string mcc_mnc = 42; //移动网络设备代码+地区代码 string model = 43; //设备型号 string idc = 44; //激活数据来源机房,业务方一般不需要关心 uint32 install_code = 45; //安装标识 string http_user_agent = 46; //设备UA string caid1 = 47; //最新版caid string caid2 = 48; //上一版本caid }