GithubHelp home page GithubHelp logo

segment-integrations / analytics-android-integration-mixpanel Goto Github PK

View Code? Open in Web Editor NEW
4.0 28.0 14.0 172 KB

The Mixpanel analytics-android integration.

Home Page: https://segment.com/docs/destinations/mixpanel

Java 100.00%
android

analytics-android-integration-mixpanel's Introduction

analytics-android-integration-mixpanel

Maven Central Javadocs

Mixpanel integration for analytics-android.

Installation

To install the Segment-Mixpanel integration, simply add this line to your gradle file:

compile 'com.segment.analytics.android.integrations:mixpanel:+'

Usage

After adding the dependency, you must register the integration with our SDK. To do this, import the Mixpanel integration:

import com.segment.analytics.android.integrations.mixpanel.MixpanelIntegration;

And add the following line:

analytics = new Analytics.Builder(this, "write_key")
                .use(MixpanelIntegration.FACTORY)
                .build();

Please see our documentation for more information.

License

WWWWWW||WWWWWW
 W W W||W W W
      ||
    ( OO )__________
     /  |           \
    /o o|    MIT     \
    \___/||_||__||_|| *
         || ||  || ||
        _||_|| _||_||
       (__|__|(__|__|

The MIT License (MIT)

Copyright (c) 2014 Segment, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

analytics-android-integration-mixpanel's People

Contributors

alanjcharles avatar breel93 avatar brennan avatar carlosmecha avatar f2prateek avatar felixclack avatar ladanazita avatar mattfeury avatar mericsson avatar myclamm avatar teresanesteby avatar tonidero avatar wcjohnson11 avatar wenxi-zeng avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

analytics-android-integration-mixpanel's Issues

Alias issue

I track events and send them to Mixpanel (before sign up/log in). After sign up/login I am calling alias(newId) and identify(newId). Works fine! But after user logs out (gets new anonymous id, as I am calling reset() ) and logs in, those tracked events (between log out and log in) are recorded as separate user actions (orphaned), but after logging in the events are recorded correctly. How can I solve this?

Adding attributes to payload context in middleware doesn't work as mentioned in the documentation

Middleware Documentation specifies to add attributes to your events by adding them to context.

But for mixpanel context seems to be only changing when identify is called. And the attributes added to context are not being reported to Mixpanel for track calls.

Took a look at the source and figured that track only sends properties to mixpanel and ignores the context.

Need to fix the discrepancy between the documentation and how mixpanel integration works.

People properties list in Mixpanel doesn't get applied on Android.

The people properties list in Mixpanel doesn’t get applied on Android. The properties to send as people properties seen here - https://cloudup.com/cyc_PZ_16D5 - is mapped on ios seen here - https://github.com/segment-integrations/analytics-ios-integration-mixpanel/blob/95a3607a6c92bc2f524d52c26f8c44dd50a65424/Pod/Classes/SEGMixpanelIntegration.m#L86 - but not on android as seen here - https://github.com/segment-integrations/analytics-android-integration-mixpanel/blob/0266dca8c703932fbbb4676a5547b4e5d8730077/src/main/java/com/segment/analytics/android/integrations/mixpanel/MixpanelIntegration.java

Sperandio / Prateek said we should be able to get this into an upcoming sprint.

People properties are being sent as super properties as well (Automatically set all Traits as Super Properties and People Properties OFF)

With the Automatically set all Traits as Super Properties and People Properties setting OFF, and a specific trait name setup in the Traits to set as People Properties section, any value set for the trait shows up in every single event being logged (i.e. a Super Property), as well as the user's profile (i.e. a People/User Property).

I need to have some events only show up in the People/User profile - there is no need/desire for them to show up as super properties as well, how do I do this?

people

automatically set as people and super

people properties

The TestValue2 value should not show up here with the other event properties...
event example

people profile example

Should we be sending previousId explicitly on alias?

Referring to this code:

we've seen some instances where, due to network connectivity, the identify call is arriving to mixpanel before the alias call, which results in a broken user funnel. this shows up for us exclusively on android. on the ios integration layer, the mixpanel previousId is being passed explicitly. seems like we should maintain this behavior on android. this way, even if the alias arrives after the identify, it will correctly connect the two ids.

thoughts?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.