Skip to content

zxjViva/needle

Repository files navigation

                    Needle 非侵入式打点框架
具体的tracker需要自己实现,Needle只整理出key value 形式

一、事件打点
     //第一种只有eventid,不带别的特殊的key
        @NeedleAnnotation(eventId = "click bt3")
        private void bt3() {
            Toast.makeText(this,"bt3",Toast.LENGTH_SHORT).show();
        }
        //第二种有eventid,也有入参作为打点的值的
        @NeedleAnnotation(eventId = "click bt2")
        private void bt2(@NeedleParamsAnnotation(key = "key1")String value1,
                         @NeedleParamsAnnotation(key = "key2")String value2,
                         @NeedleParamsAnnotation(key = "key3")String value3) {
            Toast.makeText(this,"bt2",Toast.LENGTH_SHORT).show();
        }
        //第三种有eventid,也有入参作为打点的值的,并且入参需要映射后才满足上报需求的
        @NeedleMapAnnotation(eventId = "click bt1",classez = {Bt4TrackDataMapping.class})
        private void bt1(@NeedleParamsAnnotation(key = "key1")String value1,
                         @NeedleParamsAnnotation(key = "key2")int i,
                         @NeedleParamsAnnotation(key = "key3")int i1,
                         @NeedleParamsAnnotation(key = "key4")int i2) {
            Toast.makeText(this,"bt1",Toast.LENGTH_SHORT).show();
        }

        //第四种有eventid,并且参数中有重复key
        @NeedleMapAnnotation(eventId = "click bt4",classez = {Bt4TrackDataMapping.class})
        private void bt4(@NeedleParamsAnnotation(key = "key1")String value1,
                         @NeedleParamsAnnotation(key = "key1")int i,
                         @NeedleParamsAnnotation(key = "key2")int i1,
                         @NeedleParamsAnnotation(key = "key2")int i2) {
            Toast.makeText(this,"bt4",Toast.LENGTH_SHORT).show();
        }

二、屏幕打点

三、打点校验

Releases

No releases published

Packages

No packages published

Languages