{"id":15033385,"url":"https://github.com/mixpanel/mixpanel-android","last_synced_at":"2026-02-06T11:26:34.991Z","repository":{"id":1003744,"uuid":"818509","full_name":"mixpanel/mixpanel-android","owner":"mixpanel","description":"Official Android Tracking Library for Mixpanel Analytics","archived":false,"fork":false,"pushed_at":"2026-01-30T11:43:01.000Z","size":32222,"stargazers_count":1042,"open_issues_count":19,"forks_count":370,"subscribers_count":102,"default_branch":"master","last_synced_at":"2026-01-30T11:46:18.444Z","etag":null,"topics":["analytics","analytics-tracking","android","mixpanel","mixpanel-sdk","sdk","tracking"],"latest_commit_sha":null,"homepage":"http://mixpanel.com/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mixpanel.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2010-08-05T04:51:12.000Z","updated_at":"2026-01-30T11:43:04.000Z","dependencies_parsed_at":"2024-01-07T06:50:03.824Z","dependency_job_id":"f5b9d447-15a4-41db-8b5a-3730b75b1f2e","html_url":"https://github.com/mixpanel/mixpanel-android","commit_stats":{"total_commits":1982,"total_committers":74,"mean_commits":"26.783783783783782","dds":0.5968718466195762,"last_synced_commit":"f81ca2277632cce4e1c9be5be2d9b221290da0dd"},"previous_names":[],"tags_count":153,"template":false,"template_full_name":null,"purl":"pkg:github/mixpanel/mixpanel-android","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mixpanel%2Fmixpanel-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mixpanel%2Fmixpanel-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mixpanel%2Fmixpanel-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mixpanel%2Fmixpanel-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mixpanel","download_url":"https://codeload.github.com/mixpanel/mixpanel-android/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mixpanel%2Fmixpanel-android/sbom","scorecard":{"id":29008,"data":{"date":"2025-08-04","repo":{"name":"github.com/mixpanel/mixpanel-android","commit":"7249ff1f93a64ca0bb12d3bca99e72918ab7a8e0"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":5.2,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/23 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Maintained","score":9,"reason":"10 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 9","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":7,"reason":"binaries present in source code","details":["Warn: binary detected: acceptance/selendroid-standalone-0.15.0-with-dependencies.jar:1","Warn: binary detected: acceptance/test-application/libs/android-support-v4.jar:1","Warn: binary detected: gradle/wrapper/gradle-wrapper.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/copilot-setup-steps.yml:20","Warn: no topLevel permission defined: .github/workflows/android.yml:1","Warn: no topLevel permission defined: .github/workflows/copilot-setup-steps.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/publish-maven.yml:20","Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/android.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/mixpanel/mixpanel-android/android.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/android.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/mixpanel/mixpanel-android/android.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/android.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/mixpanel/mixpanel-android/android.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/android.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/mixpanel/mixpanel-android/android.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/android.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/mixpanel/mixpanel-android/android.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/copilot-setup-steps.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/mixpanel/mixpanel-android/copilot-setup-steps.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/copilot-setup-steps.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/mixpanel/mixpanel-android/copilot-setup-steps.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/copilot-setup-steps.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/mixpanel/mixpanel-android/copilot-setup-steps.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/copilot-setup-steps.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/mixpanel/mixpanel-android/copilot-setup-steps.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-maven.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/mixpanel/mixpanel-android/publish-maven.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-maven.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/mixpanel/mixpanel-android/publish-maven.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-maven.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/mixpanel/mixpanel-android/publish-maven.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/mixpanel/mixpanel-android/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/mixpanel/mixpanel-android/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/mixpanel/mixpanel-android/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/mixpanel/mixpanel-android/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/mixpanel/mixpanel-android/release.yml/master?enable=pin","Warn: downloadThenRun not pinned by hash: .devcontainer/post-create.sh:49","Info:   0 out of  11 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   6 third-party GitHubAction dependencies pinned","Info:   0 out of   1 downloadThenRun dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":6,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'master'","Warn: required approving review count is 1 on branch 'master'","Warn: codeowners review is not required on branch 'master'","Warn: no status checks found to merge onto branch 'master'","Info: PRs are required in order to make changes on branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"SAST","score":6,"reason":"SAST tool is not run on all commits -- score normalized to 6","details":["Warn: 12 commits out of 18 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T18:35:46.464Z","repository_id":1003744,"created_at":"2025-08-14T18:35:46.464Z","updated_at":"2025-08-14T18:35:46.464Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29159587,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T07:18:23.844Z","status":"ssl_error","status_checked_at":"2026-02-06T07:13:32.659Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["analytics","analytics-tracking","android","mixpanel","mixpanel-sdk","sdk","tracking"],"created_at":"2024-09-24T20:21:03.335Z","updated_at":"2026-02-06T11:26:34.983Z","avatar_url":"https://github.com/mixpanel.png","language":"Java","funding_links":[],"categories":["Tracking"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/71290498/231855731-2d3774c3-dc41-4595-abfb-9c49f5f84103.png\" alt=\"Mixpanel Android Library\" height=\"150\"/\u003e\n\u003c/p\u003e\n\n# Latest Version\n\n##### _February 06, 2026_ - [v8.3.0](https://github.com/mixpanel/mixpanel-android/releases/tag/v8.3.0)\n\n# Table of Contents\n\n\u003c!-- MarkdownTOC --\u003e\n\n- [Quick Start Guide](#quick-start-guide)\n    - [Install Mixpanel](#1-install-mixpanel)\n    - [Initialize Mixpanel](#2-initialize-mixpanel)\n    - [Send Data](#3-send-data)\n    - [Check for Success](#4-check-for-success)\n- [FAQ](#i-want-to-know-more)\n- [I want to know more!](#i-want-to-know-more)\n- [Want to Contribute?](#want-to-contribute)\n- [Changelog](#changelog)\n- [License](#license)\n\n\u003c!-- /MarkdownTOC --\u003e\n\n\u003ca name=\"quick-start-guide\"\u003e\u003c/a\u003e\n# Quick Start Guide\n\nCheck out our **[official documentation](https://mixpanel.com/help/reference/android)** for more in depth information on installing and using Mixpanel on Android.\n\n## 1. Install Mixpanel\nYou will need your project token for initializing your library. You can get your project token from [project settings](https://mixpanel.com/settings/project).\n\n**Step 1 - Add the mixpanel-android library as a gradle dependency:**\nWe publish builds of our library to the Maven central repository as an .aar file. This file contains all of the classes, resources, and configurations that you'll need to use the library. To install the library inside Android Studio, you can simply declare it as dependency in your build.gradle file.\n\nAdd the following lines to the `dependencies` section in *app/build.gradle*\n\n```gradle\nimplementation \"com.mixpanel.android:mixpanel-android:7.+\"\n```\n \nOnce you've updated your build.gradle file, you can force Android Studio to sync with your new configuration by clicking the Sync Project with Gradle Files icon at the top of the window.\n\n![Sync Android With Gradle](https://storage.googleapis.com/cdn-mxpnl-com/static/readme/android-sync-gradle.png)\n\nThis should download the .aar dependency at which point you'll have access to the Mixpanel library API calls. If it cannot find the dependency, you should make sure you've specified `mavenCentral()` as a repository in your `build.gradle`.\n\n**Step 2 - Add permissions to your AndroidManifest.xml:**\nIn order for the library to work you'll need to ensure that you're requesting the following permissions in your AndroidManifest.xml:\n\n```java\n\u003c!--\nThis permission is required to allow the application to send\nevents and properties to Mixpanel.\n--\u003e\n\u003cuses-permission\n  android:name=\"android.permission.INTERNET\" /\u003e\n\n\u003c!--\n  This permission is optional but recommended so we can be smart\n  about when to send data.\n --\u003e\n\u003cuses-permission\n  android:name=\"android.permission.ACCESS_NETWORK_STATE\" /\u003e\n\n\u003c!--\n  This permission is optional but recommended so events will\n  contain information about bluetooth state\n--\u003e\n\u003cuses-permission\n  android:name=\"android.permission.BLUETOOTH\" /\u003e\n```\nAt this point, you're ready to use the Mixpanel Android library inside Android Studio.\n\n## 2. Initialize Mixpanel\nOnce you've set up your build system or IDE to use the Mixpanel library, you can initialize it in your code by calling MixpanelAPI.getInstance with your application context, your Mixpanel project token and automatic events setting. You can find your token in [project settings](https://mixpanel.com/settings/project).\n\n```java\nimport com.mixpanel.android.mpmetrics.MixpanelAPI;\n\n\npublic class MainActivity extends ActionBarActivity {\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n\n        trackAutomaticEvents = false;\n        MixpanelAPI mixpanel = MixpanelAPI.getInstance(this, \"YOUR_TOKEN\", trackAutomaticEvents);\n    }\n}\n```\n[See all configuration options](http://mixpanel.github.io/mixpanel-android/index.html)\n\n## 3. Send Data\nLet's get started by sending event data. You can send an event from anywhere in your application. Better understand user behavior by storing details that are specific to the event (properties). After initializing the library, Mixpanel will [automatically collect common mobile events](https://mixpanel.com/help/questions/articles/which-common-mobile-events-can-mixpanel-collect-on-my-behalf-automatically). You can enable/disable automatic collection through your [project settings](https://help.mixpanel.com/hc/en-us/articles/115004596186#enable-or-disable-common-mobile-events). Also, Mixpanel automatically tracks some properties by default. [learn more](https://help.mixpanel.com/hc/en-us/articles/115004613766-Default-Properties-Collected-by-Mixpanel)\n\n```java\nJSONObject props = new JSONObject();\nprops.put(\"source\", \"Pat's affiliate site\");\nprops.put(\"Opted out of email\", true);\n\nmixpanel.track(\"Sign Up\", props);\n```\nIn addition to event data, you can also send [user profile data](https://developer.mixpanel.com/docs/android#storing-user-profiles). We recommend this after completing the quickstart guide.\n\n## 4. Check for Success\n[Open up the Events report (formerly Live View) in Mixpanel](http://mixpanel.com/report/events) to view incoming events. \n\nOnce data hits our API, it generally takes ~60 seconds for it to be processed, stored, and queryable in your project.\n\n👋 👋  Tell us about the Mixpanel developer experience! [https://www.mixpanel.com/devnps](https://www.mixpanel.com/devnps) 👍  👎\n\n# FAQ\n**I want to stop tracking an event/event property in Mixpanel. Is that possible?**\n\nYes, in Lexicon, you can intercept and drop incoming events or properties. Mixpanel won’t store any new data for the event or property you select to drop. [See this article for more information](https://help.mixpanel.com/hc/en-us/articles/360001307806#dropping-events-and-properties).\n\n**I have a test user I would like to opt out of tracking. How do I do that?**\n\nMixpanel’s client-side tracking library contains the [optOutTracking()](http://mixpanel.github.io/mixpanel-android/com/mixpanel/android/mpmetrics/MixpanelAPI.html#optOutTracking--) method, which will set the user’s local opt-out state to “true” and will prevent data from being sent from a user’s device. More detailed instructions can be found in the section, [Opting users out of tracking](android#opting-users-out-of-tracking).\n\n**Why aren't my events showing up?**\n\nFirst make sure your test device has internet access. To preserve battery life and customer bandwidth, the Mixpanel library doesn't send the events you record immediately. Instead, it sends batches to the Mixpanel servers every 60 seconds while your application is running, as well as when the application transitions to the background. You can call [flush()](http://mixpanel.github.io/mixpanel-android/com/mixpanel/android/mpmetrics/MixpanelAPI.html#flush--) manually if you want to force a flush at a particular moment for example before your application is completely shutdown.\n\nIf your events are still not showing up after 60 seconds, check if you have opted out of tracking. You can also enable Mixpanel debugging and logging, it allows you to see the debug output from the Mixpanel Android library. To enable it, you will want to add the following permission within your AndroidManifest.xml inside the `\u003capplication\u003e` tag:\n\n```java\n...\n\u003capplication\u003e\n    \u003cmeta-data\n      android:name=\"com.mixpanel.android.MPConfig.EnableDebugLogging\"\n      android:value=\"true\" /\u003e\n    ...\n\u003c/application\u003e\n...\n```\n\n\u003ca name=\"i-want-to-know-more\"\u003e\u003c/a\u003e\n\n**Other common issues**\n\n[People.set throwing UnsupportedOperationException](https://github.com/mixpanel/mixpanel-android/issues/803)\n\n# I want to know more!\n\nNo worries, here are some links that you will find useful:\n* **[Sample app](https://github.com/mixpanel/sample-android-mixpanel-integration)**\n* **[Android integration video tutorial](https://www.youtube.com/watch?v=KcpOa93eSVs)**\n* **[Full API Reference](http://mixpanel.github.io/mixpanel-android/index.html)**\n\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/mixpanel/mixpanel-android)\n\nHave any questions? Reach out to [support@mixpanel.com](mailto:support@mixpanel.com) to speak to someone smart, quickly.\n\n\u003ca name=\"want-to-contribute\"\u003e\u003c/a\u003e\n# Want to Contribute?\n\nThe Mixpanel library for Android is an open source project, and we'd love to see your contributions!\nWe'd also love for you to come and work with us! Check out our **[opening positions](https://mixpanel.com/jobs/#openings)** for details.\n\n\u003ca name=\"changelog\"\u003e\u003c/a\u003e\n# Changelog\n\nSee [changelog](CHANGELOG.md).\n\n\u003ca name=\"license\"\u003e\u003c/a\u003e\n# License\n\n```\nSee LICENSE File for details. The Base64Coder,\nConfigurationChecker, and StackBlurManager classes, and the entirety of the\n com.mixpanel.android.java_websocket package used by this\nsoftware have been licensed from non-Mixpanel sources and modified\nfor use in the library. Please see the relevant source files, and the\nLICENSE file in the com.mixpanel.android.java_websocket package for details.\n\nThe StackBlurManager class uses an algorithm by Mario Klingemann \u003cmario@quansimondo.com\u003e\nYou can learn more about the algorithm at\nhttp://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmixpanel%2Fmixpanel-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmixpanel%2Fmixpanel-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmixpanel%2Fmixpanel-android/lists"}