Чтение заметок - полное скрытое решение для Android

Чтение заметок - полное скрытое решение для Android

это книга

После прочтения «Android Full Buried Point Solution» я могу резюмировать его в одном предложении:
как использовать возможности, предоставляемые системой Android, для реализации полноценных скрытых точек, максимально не вторгаясь в исходную бизнес-логику. То есть реализовать разделение точки захоронения и бизнеса.


1. Краткое изложение первых трех глав

Глава 1:
Полная точка захоронения: относится к возможности автоматического сбора данных о поведении пользователей заранее без необходимости для инженеров-разработчиков писать код или писать только небольшой объем кода.
Типы событий всех скрытых точек: включают: $AppStart, $AppEnd, $AppViewScreen, $AppClick
Метод прослушивания привязки представления: 1.setOnClickListener 2.android:onClick= 3.Аннотация @OnClick 4.Прослушиватель привязки DataBinding


Глава 2: $AppViewScreen
Application.ActivityLifecycleCallbacks (API 14+)
может централизованно обрабатывать (отслеживать) все события жизненного цикла Activity.Вы
можете увеличить скрытую точку доступа к странице в методе onActivityResumed(). Следует отметить, что если на текущей странице появится всплывающее окно для подачи заявки на разрешения, а затем возврат на текущую страницу, onResume будет выполняться снова, а страницу игнорирования можно добавить через метод ignoreAutoTrackActivity.


Глава 3: $AppStart , $AppEnd
регистрирует application.registerActivityLifecycleCallbacks, запускает $AppStart в onActivityStarted и запускает таймер в onActivityPaused.

2. Краткое изложение последних восьми глав

В последних восьми главах рассказывается о схеме сокрытия кликов , которая является очень важной частью бизнеса.
Щелкните скрытую точку события


Решение 1.
Зарегистрируйте Application.ActivityLifecycleCallbacks, получите VIEW (FrameLayout), соответствующий всей области содержимого R.id.content в onActivityResumed, пройдите RootView, получите mOnclickListener текущего View путем отражения, установите собственный прокси-сервер WrapperOnClickListener , и вызвать исходный прослушиватель внутри логики плюс скрытую логику.


Решение 2:
Window.Callback
регистрирует обратный вызов.В onActivityCreated Activity.getWindow() получает Window, вызывает window.getCallback() и делегирует dispatchTouchEvent в Window.Callback, находит выбранный View с помощью параметра MotionEvent и вставляет Логика скрытой точки ; Затем вызовите метод dispatchTouchEvent исходного Window.Callback.


Схема три-пять


Решение 3.
Прокси-представление View.AccessibilityDelegate
в onActivityResumed, получение RootView через activity.getWindow().getDecorView, рекурсивный обход RootView, прокси-представление mAccessibilityDelegate и оценка того, является ли тип события AccessibilityEvent.TYPE_VIEW_CLICKED.


Решение 4.
Прозрачный слой
Настройте прозрачный вид, добавьте его в верхний слой каждого действия (добавьте прозрачный слой в обратном вызове onActivityCreated) и щелкните прозрачный вид.
Перепишите onTouchEvent представления в соответствии с координатами щелчка (x, y) MotionEvent, найдите фактически щелкнутое представление в корневом представлении текущего действия, проксируйте mOnClickListener представления и вставьте скрытую точку.


Решение 5.
AspectJ
ориентирован на фасеты и вставляет встроенный код после выполнения целевого метода посредством сопоставления точек.
AspectJ — это реализация АОП-мысли.


Схема 6-8


Решение 6. Прежде чем
ASM
упакует и сгенерирует файл .dex, используйте API-интерфейс Transform для управления файлом .class, пройдите метод файла .class, измените прослушиватель и замените исходный файл.
Используйте API-интерфейс платформы ASM для загрузки и анализа файлов .class, поиска файлов .class и связанных методов, соответствующих определенным условиям, и изменения методов для вставки скрытых точек.


Решение 7. Принцип
Javassist
аналогичен принципу ASM, а среда для работы с файлами .class заменена на Javassist.


Решение 8. Общий поток обработки кода в редакторе
AST
:
JavaTXT -> лексический анализ -> создание AST -> семантический анализ -> компиляция
метода обработки пользовательских аннотаций байт-кода, обход API кадра AST, поиск целевого метода, вставка логика скрытой точки.

Je suppose que tu aimes

Origine blog.csdn.net/adayabetter/article/details/122147834
conseillé
Classement