UMEM:友盟统计自定义事件多应用一键同步 & 批处理工具

功用预览

点击预览线上布置的测验版别

  • 1、请勿压测,主张运用 chrome浏览器;
  • 2、现在【使命办理】的socket连接不是并发的(因为我比较菜…),假如多人一起拜访或许需求排队等候,一起这是供给预览的;
  • 3、在线上预览版别注册的账号后续或许会铲除,正式运用请用docker布置到本地;

前言

现有产品用的友盟计算。

免费版的友盟计算每个运用最多只能有500个有用的自定义事情,超越最大数量后假如想要新增,则需求先暂停一些不常用或许已废弃的自定义事情才行。在友盟官网,是有“批量暂停”操作的,但其“批量暂停”跟“挑选功用”是分开的,导致我不能挑选契合本身需求的一些事情进行暂停。

其次,有的时分产品改版,功用描绘或许发生变化,需求修正自定义事情的显现称号,想要修正友盟自定义事情显现称号的话,则需求一个id一个id地查找,然后一个一个地修正。假如改变的自定义事情过多或许改变次数比较频繁,那这样机械的操作就挺繁琐的。虽然友盟官网有批量上传自定义事情功用,可是已存在的自定义事情id不会进行更新,而是被疏忽掉,所以要想更新显现称号,仍是得一个一个地查找才能更新。

别的,假如同一个产品有多个包名(多马甲),里边的自定义事情根本都是一样的,照上面所述情况,假如有功用差不多&自定义事情一致的运用A、运用B、运用C,则需求机械地来回操作多次,这真是一件耗时耗力的事情,一次两次还好,但假如操作次数多了,每次都需求繁琐的翻开官网进行一些必要而单调的操作,心里总会有一些马儿在奔腾。

所以,就上面遇到的问题,我多期望有个东西可以处理我的痛点,所以我发挥自己的强项:百度 & google & cv,不断输入“友盟批处理东西”、“友盟自定义事情批量办理”、“友盟助手”等关键词,翻了几页之后没有找到契合自己需求的东西,有些失望。后来我就想,要不自己写代码完结这样的批处理操作好了。所以我花了一天时刻,剖析友盟自定义事情操作api,写了一个python脚本,根本满足了自己的需求:

  • 1、读取友盟自定义事情模板文件,存在则更新,不存在则插入;
  • 2、缓存友盟自定义事情列表到本地,依据挑选指定事情进行暂停操作,完结挑选并批量暂停;
  • 3、完结将“运用A”的自定义事情状态,批量仿制(同步)到“运用B”、“运用C”上。

后边一段时刻,我都是直接履行这个脚本来完结相应操作的。一开端自己还算比较满意,可是操作次数多了,感觉仍是比较繁琐(人的欲望与需求总是无穷无尽啊),因为有时分友盟那边的cookie失效了,还得翻开项目手动更新文件里边的装备项,别的便是挑选条件的装备项也得修正装备文件。所以我又想着,能不能自己写一个web办理页面呢(因为我现主业务是搞Android的)?结合自己的运用习惯再顺便加点功用。

所以我便开端web办理页面的开发了。取名 UMEM。

技能选型

最早最早我想着用 Flask + html 来写的,首要我之前用Flask写过一些小api还算比较了解(仅仅了解简略运用,囫囵吞枣不精通)。不过终究仍是选用了Django + vue3作为开发脚手架,这哥俩我也是第一次接触,因为仅仅要做个小东西,所以运用空闲时刻边学边做对于我来说也算是一举两得。而且vue的教程现在也许多,饿了么的element-plus(vue3) 供给的界面控件也很契合现在开发的需求。

开发历程

因为前面已经用python脚本完结了根本功用,所以在web端上,一开端我仅仅期望:

  • 1、操作愈加便捷,比如上传自定义事情文件我想要简略的拖拽就行;
  • 2、履行友盟自定义使命事,期望及时看到相应的操作日志及进展;
  • 3、自定义事情有专门的挑选条件便利检索;

以上功用都逐个(经过各种查找 & 各种cv)处理了,在后续开发进程中,因为需求操作的友盟运用仍是需求自己手动输入key、友盟的cookie过期后仍是得自己仿制粘贴进行更新,所以自己继续追加了新需求:

  • 1、期望直接从已有的友盟运用列表中选择需求操作的运用,而不是自己手动输入运用key;
  • 2、友盟的cookie可以一键更新,减少繁琐的仿制粘贴操作;

第一个需求点容易处理,第二个需求点我一开端是想经过程序模拟请求友盟api来获取cookie,可是那样又需求账号暗码,一起还得处理登录前的一个验证码校验,所以这个方案不太行。正好我看到一些谷歌浏览器插件可以更新cookie(一些可将文章批量更新各大渠道的产品的附属插件),我便进行海量查找&仿照着写一个契合自己需求的谷歌浏览器插件,这个插件可以一键更新友盟的cookie信息,所以便有了UMEM-友盟登录助手 一键更新装备,免除手动仿制粘贴之劳形。点击下载插件

再后来,考虑到在局域网内布置供多人运用,所以追加了注册登录功用。

在功用都开发得差不多的情况下,我将程序打包为docker镜像,便利一键布置到本地或许长途服务器。

运转docker镜像

  • 1、创立本地目录,用于挂载docker运转时的log目录、数据库(这小东西数据库现在运用的是sqlite3)
mkdir -p ~/umem/log
mkdir -p ~/umem/db
  • 2、运转 docker ( -e LANG=C.UTF-8 是处理python处理中文的问题, 这儿的/home/samge/umem是对应宿主机的绝对路径,需求更换为上一步自己实践创立的本地目录 ):
docker run -d \
-v /home/samge/umem/db:/app/db \
-v /home/samge/umem/log:/app/log \
-p 8000:8000 \
-p 9001:9001 \
--name umem \
--pull=always \
--restart always \
-e LANG=C.UTF-8 \
samge/umem:v1

拜访

UMEM拜访地址:http://localhost:8000

Supervisor办理页面:http://localhost:9001/

Supervisor账号:admin
Supervisor暗码:admin

点击预览线上布置的测验版别 (请勿压测,主张运用 chrome浏览器,现在【使命办理】的socket连接不是并发的,假如多人一起拜访或许需求排队等候,一起这是供给预览的,注册的账号后续或许会铲除,尽量自己用docker布置到本地运用)

运用

  • 1、注册账号登录
  • 2、进入“装备办理”页,装备友盟登录后的cookie等相关信息,这儿可运用 UMEM-友盟登录助手 一键更新装备
  • 3、在“友盟key”页,选择需求操作的友盟运用
  • 4、装备完结,可进行测验/运用

相关截图

UMEM:友盟统计自定义事件多应用一键同步 & 批处理工具

UMEM:友盟统计自定义事件多应用一键同步 & 批处理工具

UMEM:友盟统计自定义事件多应用一键同步 & 批处理工具

UMEM:友盟统计自定义事件多应用一键同步 & 批处理工具

UMEM:友盟统计自定义事件多应用一键同步 & 批处理工具

UMEM:友盟统计自定义事件多应用一键同步 & 批处理工具

UMEM:友盟统计自定义事件多应用一键同步 & 批处理工具

UMEM:友盟统计自定义事件多应用一键同步 & 批处理工具

最后

现在 UMEM 仅仅一款个人开发的十分小众的小东西,没有大面积测验,在我自己电脑的谷歌浏览器中运转暂时没发现大的问题,契合个人需求。

假如刚好有类似需求(友盟自定义事情批处理)的同学,期望在正式运用前,先自行测验,契合自己需求后再正式运用,谨慎些总没错。

一起在运用的过程中假如有什么意见或许主张都可以在项目仓库里的 issues里提出来。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。