https://github.com/guitcastro/darylandroidtracker
Use multiples analytics and other trackers in your Application easily
https://github.com/guitcastro/darylandroidtracker
crashlytics custom-tracker facebook firebase google-analytics intercom mixpanel multiples-analytics tracker
Last synced: 2 months ago
JSON representation
Use multiples analytics and other trackers in your Application easily
- Host: GitHub
- URL: https://github.com/guitcastro/darylandroidtracker
- Owner: guitcastro
- License: mit
- Created: 2016-06-22T14:37:21.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-05-25T14:36:37.000Z (about 7 years ago)
- Last Synced: 2025-03-23T21:35:42.096Z (3 months ago)
- Topics: crashlytics, custom-tracker, facebook, firebase, google-analytics, intercom, mixpanel, multiples-analytics, tracker
- Language: Java
- Homepage:
- Size: 261 KB
- Stars: 39
- Watchers: 2
- Forks: 13
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DarylAndroidTracker [](https://codecov.io/gh/guitcastro/DarylAndroidTracker)
Use multiple analytics and other trackers in your Application easily## Supported trackers:
* Google Analytics
* Crashlytics
* Firebase
* Dito
* Intercom
* Mixpanel## Installing
Just added the necessary SDKs to your gradle file:
```
def darylVersion = '0.0.58'compile "com.appprova.daryl:daryl:$darylVersion"
compile "com.appprova.daryl:googleanalytics:$darylVersion"
compile "com.appprova.daryl:crashlytics:$darylVersion"
compile "com.appprova.daryl:firebase:$darylVersion"
compile "com.appprova.daryl:facebook:$darylVersion"
compile "com.appprova.daryl:dito:$darylVersion"
compile "com.appprova.daryl:intercom:$darylVersion"
compile "com.appprova.daryl:mixpanel:$darylVersion"
```## Usages instructions
### Registering your trackers
#### Google Analytics
```
GoogleAnalytics googleAnalytics = GoogleAnalytics
.getInstance(app.getApplicationContext());
Tracker googleTracker = googleAnalytics.newTracker(R.xml.app_tracker);
googleTracker.enableAdvertisingIdCollection(true);TrackerAdapter googleAnalyticsTracker = new GoogleAnalyticsTracker(googleTracker);
```#### Firebase
```
TrackerAdapter firebaseTracker = new FirebaseTracker(FirebaseAnalytics.getInstance(context.getApplicationContext()));
```#### CrashLytics Log
```
TrackerAdapter crashlyticsLogTracker = new CrashlyticsLogTracker();
```#### Facebook Log
```
TrackerAdapter facebookTracker = new FacebookTracker(AppEventsLogger.newLogger(context.getApplicationContext()));
```#### Intercom
```
TrackerAdapter intercomTracker = new IntercomTracker(Intercom.client());
```#### Mixpanel
```
MixpanelAPI mixpanel =
MixpanelAPI.getInstance(context, MIXPANEL_TOKEN);
TrackerAdapter mixpanelTracer = new MixpanelTracer(mixpanelApi);
```### Registering multiple trackers
```
MultipleTrackerAdapter trackerAdapter = new MultipleTrackerAdapter();
trackerAdapter.addTracker(googleAnalyticsTracker);
trackerAdapter.addTracker(ditoTracker);
trackerAdapter.addTracker(firebaseTracker);
trackerAdapter.addTracker(facebookTracker);
trackerAdapter.addTracker(intercomTracker);
trackerAdapter.addTracker(mixpanelTracker);
if (!BuildConfig.DEBUG) {
trackerAdapter.addTracker(crashlyticsLogTracker);
}```
### Starting Tracking
After all trackers are registered you can just use the multiple tracker to track all events at once
#### Tracking event
```
trackerAdapter.logEvent(new EventBuilder("event name")
.setCategory("event category")
.setAction("event action")
.setProperty("custom property", "property value")
.get());
```#### Tracking page view
```
trackerAdapter.logPageView("page name");
```#### Tracking exceptions
Avaibles for : Firebase, CrashlyticsLog and Google Analytics
```
trackerAdapter.logException(new Exception("something went wrong"));
```#### Logging user properties
Avaibles for : Firebase, CrashlyticsLog
```
trackerAdapter.setUserProperty(Constants.USER_PROPERTY_EMAIL, "[email protected]");
```## Creating custom tracker
In oder to create a custom tracker you just need to implement the `TrackerAdapter` interface.