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 1
1
# optimizely-ab-android-sdk
2
2
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
+
3
31
## Developing
4
32
5
33
### Command Line
You can’t perform that action at this time.
0 commit comments