File tree Expand file tree Collapse file tree 1 file changed +28
-0
lines changed
Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change 11# optimizely-ab-android-sdk
22
3+ ## Architecture
4+
5+ This project has 5 modules. Each module has source in ` <module>/src/main/java `
6+ and test source in ` <module>src/main/androidTest ` . The build is configured
7+ in the ` build.gradle ` for each module. The ` settings.gradle ` in the project
8+ root declares modules. The ` build.gradle ` in the project root has build
9+ config common for all modules.
10+
11+ 1 . Android SDK
12+ - Users who want all modules should just declare a dependency on this module
13+ - This is the outer module that depends on all other modules
14+ - Handles downloading the Optimizely Data File and building Optimizely objects
15+ - Delivers the built Optimizely object to listeners and caches it in memory
16+ 2 . Event Handler
17+ - Handles dispatching events to the Optimizely Backend
18+ - Uses a Service so events can be sent without the app being reopened
19+ - Persists events in a SQLite3 database
20+ - Required to be implemented by the Optimizely Java core
21+ 3 . User Experiment Record
22+ - Optional implementation for Optimizely Java core
23+ - Makes bucketing persistent
24+ - Once a user is bucketed in an variation they will remain in that variation
25+ 4 . Shared
26+ - Common utils for all modules
27+ 5 . Test App
28+ - Built against the source of all modules
29+ - Simple app showing how to use Android Optimizely
30+
331## Developing
432
533### Command Line
You can’t perform that action at this time.
0 commit comments