diff --git a/README.md b/README.md index 8c3c186..c7625e6 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,29 @@ # OpenAttribution Android SDK -🏗️Under construction.🏗️ If you'd like to help feel free to send a PR or join the Dicsord. More info on [OpenAttribution.dev](https://openattribution.dev). +🏗️Under construction.🏗️ +If you'd like to help feel free to send a PR or join the [OpenAttribution Discord](https://discord.gg/Z5ueYE3Ct3). + + +More info on [OpenAttribution.dev](https://openattribution.dev). ## MVP Goal To have a fully functional SDK which can be used to track and attribute installs, events and revenue for iOS back to an OpenAttribution server. +### Event tracking and details + -## MVP feature roadmap +## MVP feature road map -- Library installable via Cocoapods (? is this the right approach?) or other dependency manager for mac/ios -- user input server endpoint ie `https://demo.openattribution.dev` -- event tracking with params -- documentation for how to use and next steps +- [x] Library installable via Maven +- [x] user input server endpoint ie `https://demo.openattribution.dev` +- [ ] Events: + - [x] app_open tracking and attributing + - [ ] Basic event tracking + - [ ] Basic revenue tracking +- [ ] Documentation for how to use and next steps -## Usage +## Install You can get the latest version of OpenAttribution's (Android SDK from Maven Central)[https://central.sonatype.com/artifact/dev.openattribution/open-attribution-sdk] @@ -26,6 +35,8 @@ dependencies { } ``` +## Tracking App Open + `MyApplication.kts` ```kotlin @@ -49,28 +60,27 @@ class MyApplication : Application() { ``` -### Event tracking and params details -Events: -- Basic app_open tracking and attributing -- Basic event tracking -- Basic revenue tracking -### ExistingOpenAttribution Params: -These are very loosely defined in: +## Local Development: + +If you're interested in contributing to OpenAttribution Android SDK please don't hesitate to reach out [on Discord](https://discord.gg/Z5ueYE3Ct3) or with a PR. + +The OpenAttribution postback API will expect or allow the values as defined here: https://github.com/OpenAttribution/Open-Attribution/blob/main/apps/postback-api/config/dimensions.py -```python -# In App key values -APP_EVENT_UID = "event_uid" # UUID4, unique per tracking call -APP_EVENT_ID = "event_id" # app_open, event_name -APP_EVENT_TIME = "event_time" # epoch timestamp in ms -APP_EVENT_REV = "revenue" # not sure if this is float or string -APP_OA_USER_ID = "oa_uid" # UUID4, unique per user -``` +#### Sample post back payload +This is a sample of the minimum required postback by the OpenAttribution server. The empty IFA. -#### Sample postback payload -``` -https://demo.openattribution.dev/collect/events/com.example.app?ifa=00000000-0000-0000-0000-000000000000&event_time=1732003510046&event_uid=5730a99e-b009-41da-9d52-1315e26941c1&event_id=app_open&oa_uid=3bd9e091-fa6e-4b91-8dd1-503f8d4fe8f2 -``` +```http +POST https://demo.openattribution.dev/collect/events/com.example.app HTTP/1.1 +Content-Type: application/json + +{ + "ifa": "00000000-0000-0000-0000-000000000000", + "event_time": 1732003510046, + "event_uid": "5730a99e-b009-41da-9d52-1315e26941c1", + "event_id": "app_open", + "oa_uid": "3bd9e091-fa6e-4b91-8dd1-503f8d4fe8f2" +}