GithubHelp home page GithubHelp logo

didi / didiprism Goto Github PK

View Code? Open in Web Editor NEW
1.7K 35.0 195.0 1.19 MB

小桔棱镜,一款专注移动端操作行为的利器! A powerful tool (iOS & Android) that focuses on mobile operation behavior!

License: Apache License 2.0

Java 23.77% Ruby 0.56% Objective-C 72.66% JavaScript 0.66% HTML 0.24% Vue 0.11% TypeScript 1.09% C 0.92%

didiprism's Introduction

小桔棱镜

PRs welcome!

中文版本请参看这里

DiDiPrism is a tool that focuses on mobile operation behavior, covering APP Operation Playback, Operation Detection, and Data Visualization capabilities. We have precipitated a set of technical frameworks during the implementation of the entire program, and hope that we can gradually open source it to help more people. At the same time, we also hope that Prism can grow faster with the joint efforts of everyone.

Features

  • No intrusion

The business code does not need any adaptation.

  • High availability

The capabilities have been running smoothly in the production environment for more than two years.

  • Self-developed operation behavior identification instructions

In addition to the existing function of supporting the Prism, there may be a larger stage.

  • Rich and flexible operation behavior policy support

Based on DSL, it implements rich operation behavior policy support, which can meet the usual detection requirements.

  • Full-featured

All-round capability coverage around mobile operation behavior provides more possibilities.

What can I do with it?

1. Operation Playback

The most innovative function in the DiDiPrism is also the foundation of the entire prism platform. We realize the operation playback (Video Playback / Text Playback) on the APP side based on the self-developed operation behavior identification instruction. Compared with the traditional static buried point data, it provides dynamic operation behavior, which can help you better locate problems, optimize products, and create value for users.

Of course, it can also have many application scenarios, such as automatic testing without handwritten script scenarios, and only simple operation behavior identification instructions can be applied to many scenarios that we have not thought of but have received demands, so we Choose to open source it to benefit more people.

[Demo Show]

Playback Show Video Playback Text Playback

2. Operation Detection

The device-side real-time operation behavior detection function is also based on the self-developed operation behavior identification instruction and the semantic operation behavior policy description scheme (DSL), which supports rich semantics and flexible policy configuration. It can help us realize the needs of client-side scenarios. In the future, we hope to use it in customer service scenarios to improve user experience and create more user value.

Of course, we believe that it also has untapped application potential, and it is also open sourced to brainstorm ideas.

[Demo Show]

操作检测

3. Data Visualization (in progress.)

Mobile solutions covering the whole process of tracking, including multi-dimensional PV/UV, heat map, conversion rate funnel, page dwell time and other functions in the field of tracking data visualization, as well as the auxiliary field of tracking The test tool. Its significance is to change the way people look at data on a daily basis, so that students who are good at using data can use data more conveniently, and students who are not good at using data start to like to use data.

User Manual

Series of articles

WeChat

Since the validity period of the group QR code is only 7 days, you can search for HulkRong and add me to WeChat to join the group, and you can remark: DiDiPrism community users.

TODO

TODO List

Project member

Hulk(荣浩)梅平EastWoodYang张华戴立慧

License

Apache-2.0 license

DiDiPrism is published under the Apache-2.0 license,For details check out the LICENSE.TXT

didiprism's People

Contributors

eastwoodyang avatar haoliangjian-tal avatar ronghaopger avatar tianxianbob avatar zollero avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

didiprism's Issues

Password Security

Android Project 建议 gradle.properties 中的 USERNAME 和 PASSWORD 放 local.properties 里。

应用场景落地方案讨论

首先感谢开源, 学习到挺多,有一些疑问想和你们交流交流~~

关于应用场景我这边能想到:

  1. 操作回放是模拟用户真实操作, 你们线上目前是如何应用这个功能呢,目前这边脑洞了一下,可以模拟一些极端的测试用例, 对自动化测试有帮助
  2. 采集到的文字行为有助于排查线上问题

你们能简单分享一下应用场景吗?

如何复现用户的实际运行环境

希望用这个开源工具来帮助检测用户在实际使用中的操作路径,但是每个用户的瞬时数据并不是一致的。所以同样的操作路径,不一定能在开发的环境中复现,请问这个问题有什么好的解决办法吗?

How to use with flutter?

I know less about native Android or IOS and keep using flutter.
Is there any docs to use with flutter or any plan to create a flutter plugin?

关于如何使用的问题

你好,我是H5开发的,对于原生APP开发不太了解。想请教一下几个问题:

1、这个操作行为回放是怎么做到的,是以视频的方式存放下来的还是怎么样?
2、如何将小桔棱镜应用到项目当中,生成的文字回放和操作行为回放是存放在哪里的,我们应该如何取到这些信息
3、听说后续会支持移动端H5,请问一下预估什么时候可以支持呢?

盼回复,谢谢!

iOS Demo Error: Undefined symbols : "_OBJC_CLASS_$_WebViewController",

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_WebViewController", referenced from:
      objc-class-ref in DetailAViewController.o
      objc-class-ref in DetailViewController.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

发现是项目中没有引用 WebViewController 这个类啊,在 /iOS/DiDiPrismDemo/DiDiPrismDemo/ViewController/DetailViewController/ 目录下。

希望修正~

A android端Prism

感谢大佬的开源给我们更好的开拓思维,小桔棱镜 Android SDK端现在最低是只支持到6.0系统、androidx,因为以前很多旧项目是使用support库开发最低要适配到5.0系统,整体升级迁移到androidx工作量比较大,而且不知道是否有其他不可控的问题,所以请问后期是否有考虑适配到5.0系统和支持使用使用support库呢

iOS:presentViewController后,回放失败

问题1:
如果present一个导航栏控制器后,控制器里面添加一个按钮,点击按钮做dismiss操作,回放时失败;
看代码里面有单独对present的控制做处理,但是最终拿到的响应者为空,请问有方法解决吗?

问题2:
如果在当前window上面添加一个vc.view,而不是直接添加一个view,此时回放也是同样失败,此问题有好的方案吗?

棱镜的实际应用场景

行为检测,行为回放。这些滴滴在实际的应用场景中,是怎么应用的?如果全链路启用,每天数据量多大。
基于这样的dsl,是否又web版的数据回放功能?

请问可以应用在 Swift 项目中吗?

感谢大佬给我们开拓视野,请问关于“把埋点数据‘镶’在页面元素上”的功能,是不是暂时没有开源计划,如果开源是否会有相应的配套后台呢?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.