feat: 统计设备型号

This commit is contained in:
涵曦 2024-12-02 11:08:19 +08:00
parent 8f9bba0ca3
commit cb2af0ee9f
2 changed files with 11 additions and 5 deletions

View File

@ -30,6 +30,7 @@ class Analytics:
async def run_with_cancel(self, func, *args, **kwargs): async def run_with_cancel(self, func, *args, **kwargs):
try: try:
asyncio.ensure_future(asyncio.to_thread(func, *args, **kwargs)) asyncio.ensure_future(asyncio.to_thread(func, *args, **kwargs))
self.log.info("analytics run_with_cancel success")
except Exception as e: except Exception as e:
self.log.warning(f"analytics run_with_cancel failed {e}") self.log.warning(f"analytics run_with_cancel failed {e}")
return None return None
@ -66,17 +67,18 @@ class Analytics:
self.gtag.send(events=event_list) self.gtag.send(events=event_list)
self.current_date = current_date self.current_date = current_date
async def send_play_event(self, name, sec): async def send_play_event(self, name, sec, hardware):
try: try:
await self.run_with_cancel(self._send_play_event, name, sec) await self.run_with_cancel(self._send_play_event, name, sec, hardware)
except Exception as e: except Exception as e:
self.log.warning(f"analytics send_play_event failed {e}") self.log.warning(f"analytics send_play_event failed {e}")
self.init() self.init()
def _send_play_event(self, name, sec): def _send_play_event(self, name, sec, hardware):
event = self.gtag.create_new_event(name="play") event = self.gtag.create_new_event(name="play")
event.set_event_param(name="version", value=__version__) event.set_event_param(name="version", value=__version__)
event.set_event_param(name="music", value=name) event.set_event_param(name="music", value=name)
event.set_event_param(name="sec", value=sec) event.set_event_param(name="sec", value=sec)
event.set_event_param(name="hardware", value=hardware)
event_list = [event] event_list = [event]
self.gtag.send(events=event_list) self.gtag.send(events=event_list)

View File

@ -1260,7 +1260,11 @@ class XiaoMusicDevice:
@property @property
def did(self): def did(self):
return self.xiaomusic.device_id_did[self.device_id] return self.device.did
@property
def hardware(self):
return self.device.hardware
def get_cur_music(self): def get_cur_music(self):
return self.device.cur_music return self.device.cur_music
@ -1442,7 +1446,7 @@ class XiaoMusicDevice:
return return
self.log.info(f"{name}】已经开始播放了") self.log.info(f"{name}】已经开始播放了")
await self.xiaomusic.analytics.send_play_event(name, sec) await self.xiaomusic.analytics.send_play_event(name, sec, self.hardware)
if self.device.play_type == PLAY_TYPE_SIN: if self.device.play_type == PLAY_TYPE_SIN:
self.log.info(f"{name}】单曲播放时不会设置下一首歌的定时器") self.log.info(f"{name}】单曲播放时不会设置下一首歌的定时器")