{"id":20146912,"url":"https://github.com/guitcastro/darylandroidtracker","last_synced_at":"2025-04-09T19:35:39.337Z","repository":{"id":124454840,"uuid":"61726276","full_name":"guitcastro/DarylAndroidTracker","owner":"guitcastro","description":"Use multiples analytics and other trackers in your Application easily","archived":false,"fork":false,"pushed_at":"2018-05-25T14:36:37.000Z","size":267,"stargazers_count":39,"open_issues_count":0,"forks_count":13,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-23T21:35:42.096Z","etag":null,"topics":["crashlytics","custom-tracker","facebook","firebase","google-analytics","intercom","mixpanel","multiples-analytics","tracker"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/guitcastro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-06-22T14:37:21.000Z","updated_at":"2023-12-30T21:34:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"965eb996-72e6-49de-9f20-d708aff8a7eb","html_url":"https://github.com/guitcastro/DarylAndroidTracker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guitcastro%2FDarylAndroidTracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guitcastro%2FDarylAndroidTracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guitcastro%2FDarylAndroidTracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guitcastro%2FDarylAndroidTracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guitcastro","download_url":"https://codeload.github.com/guitcastro/DarylAndroidTracker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248098328,"owners_count":21047417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crashlytics","custom-tracker","facebook","firebase","google-analytics","intercom","mixpanel","multiples-analytics","tracker"],"created_at":"2024-11-13T22:26:36.880Z","updated_at":"2025-04-09T19:35:39.328Z","avatar_url":"https://github.com/guitcastro.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DarylAndroidTracker [![codecov](https://codecov.io/gh/guitcastro/DarylAndroidTracker/branch/master/graph/badge.svg)](https://codecov.io/gh/guitcastro/DarylAndroidTracker)\nUse multiple analytics and other trackers in your Application easily \n\n## Supported trackers:\n\n* Google Analytics\n* Crashlytics\n* Firebase\n* Facebook\n* Dito\n* Intercom\n* Mixpanel\n\n## Installing \n\nJust added the necessary SDKs to your gradle file:\n\n```\ndef darylVersion = '0.0.58'\n\ncompile \"com.appprova.daryl:daryl:$darylVersion\"\ncompile \"com.appprova.daryl:googleanalytics:$darylVersion\"\ncompile \"com.appprova.daryl:crashlytics:$darylVersion\"\ncompile \"com.appprova.daryl:firebase:$darylVersion\"\ncompile \"com.appprova.daryl:facebook:$darylVersion\"\ncompile \"com.appprova.daryl:dito:$darylVersion\"\ncompile \"com.appprova.daryl:intercom:$darylVersion\"\ncompile \"com.appprova.daryl:mixpanel:$darylVersion\"\n```\n\n## Usages instructions\n\n### Registering your trackers\n\n#### Google Analytics\n\n```\nGoogleAnalytics googleAnalytics = GoogleAnalytics\n                .getInstance(app.getApplicationContext());\nTracker googleTracker = googleAnalytics.newTracker(R.xml.app_tracker);\ngoogleTracker.enableAdvertisingIdCollection(true);\n\nTrackerAdapter googleAnalyticsTracker = new GoogleAnalyticsTracker(googleTracker);\n```\n\n\n#### Firebase\n\n```\nTrackerAdapter firebaseTracker = new FirebaseTracker(FirebaseAnalytics.getInstance(context.getApplicationContext()));\n```\n\n#### CrashLytics Log\n\n```\nTrackerAdapter crashlyticsLogTracker = new CrashlyticsLogTracker();\n```\n\n#### Facebook Log\n\n```\nTrackerAdapter facebookTracker = new FacebookTracker(AppEventsLogger.newLogger(context.getApplicationContext()));\n```\n\n#### Intercom\n\n```\nTrackerAdapter intercomTracker = new IntercomTracker(Intercom.client());\n```\n\n#### Mixpanel\n\n```\nMixpanelAPI mixpanel =\n    MixpanelAPI.getInstance(context, MIXPANEL_TOKEN);\nTrackerAdapter mixpanelTracer = new MixpanelTracer(mixpanelApi);\n```\n\n### Registering multiple trackers\n\n```\nMultipleTrackerAdapter trackerAdapter = new MultipleTrackerAdapter();\ntrackerAdapter.addTracker(googleAnalyticsTracker);\n        trackerAdapter.addTracker(ditoTracker);\n        trackerAdapter.addTracker(firebaseTracker);\n        trackerAdapter.addTracker(facebookTracker);\n        trackerAdapter.addTracker(intercomTracker);\n        trackerAdapter.addTracker(mixpanelTracker);\n        if (!BuildConfig.DEBUG) {\n            trackerAdapter.addTracker(crashlyticsLogTracker);\n        }\n\n```\n\n### Starting Tracking \n\nAfter all trackers are registered you can just use the multiple tracker to track all events at once\n\n#### Tracking event\n\n```\ntrackerAdapter.logEvent(new EventBuilder(\"event name\")\n                .setCategory(\"event category\")\n                .setAction(\"event action\")\n                .setProperty(\"custom property\", \"property value\")         \n                .get());\n```\n\n#### Tracking page view\n\n```\ntrackerAdapter.logPageView(\"page name\");\n```\n\n#### Tracking exceptions\n\nAvaibles for : Firebase, CrashlyticsLog and Google Analytics\n\n```\ntrackerAdapter.logException(new Exception(\"something went wrong\"));\n```\n\n#### Logging user properties\n\nAvaibles for : Firebase, CrashlyticsLog\n\n```\ntrackerAdapter.setUserProperty(Constants.USER_PROPERTY_EMAIL, \"example@gmail.com\");\n```\n\n## Creating custom tracker\n\nIn oder to create a custom tracker you just need to implement the `TrackerAdapter` interface.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguitcastro%2Fdarylandroidtracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguitcastro%2Fdarylandroidtracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguitcastro%2Fdarylandroidtracker/lists"}