#灵感 ``` 上报数据完整格式如下: { "event_name": "open_login", "event_timestamp": 1696646035, "public_properties": "{\"uid\":100230,\"device_id\":\"000416f0b81aec53\",\"channel_id\":\"2005\",\"app_version\":\"1.0.1\",\"os\":\"android\",\"os_version\":\"android 8.0.0\",\"device_model\":\"vivo s6\",\"country\":\"US\"}", "event_properties": { "property1": 123, "property2": "value2", "property3": 102.5656, "property4": true, "user_properties": { "property5": 123, "property6": "value2", "property7": 102.5656, "property8": true } } } 其中public_properties(公共属性)格式如下: { "uid": 100230, "device_id": "000416f0b81aec53", "channel_id": "2005", "app_version": "1.0.1", "os": "android", "os_version": "android 8.0.0", "device_model": "vivo s6", "country": "us" } 整体格式如上,你那个sign 可以放到 event_name 那里,取一个开始会话的英文名 然后id和time 可以放到 event_properties 里面 然后 event_properties 里面有个特殊的JsonObject user_properties是用来装用户属性的,这个你可以让业务外部传进来 ``` 建议那两个属性 这样命名会好点 ``` id => session_id time => session_dur ``` lua端的逻辑调用参考 ![[Pasted image 20241031092149.png]] ID生成逻辑参考: ![[Pasted image 20241031093336.png]] 公共数据接口,参考 ![[Pasted image 20241101095436.png]] 用户id接口,参考 ![[Pasted image 20241101100923.png]]