Как использовать аналитику Mixpanel для отслеживания рефералов в Android

Как использовать аналитику Mixpanel для отслеживания рефералов в Android. Погуглил, нормального ответа не нашел.


person andinrajesh    schedule 25.09.2014    source источник


Ответы (1)


Сначала вам нужно написать широковещательный приемник для получения реферального намерения.

public class ReferalIntentReciever extends BroadcastReceiver {
    public static MixpanelAPI mixpanel;

    Context context;

    @Override
    public void onReceive(Context context, Intent intent) {
        mixpanel = MixpanelAPI.getInstance(context, "YOUR MIXPANEL TOKEN");

        // TODO Auto-generated method stub

        String referrerString = intent.getStringExtra("referrer");
       //sending to mixpanel
        try {
            JSONObject props = new JSONObject();
            props.put("utm_source", splitQuery(referrerString)
                    .get("utm_source"));
            props.put("utm_medium", splitQuery(referrerString)
                    .get("utm_medium"));
            if (splitQuery(referrerString).get("utm_campaign") != null) {
                props.put("utm_campaign",
                        splitQuery(referrerString).get("utm_campaign"));
            }
            mixpanel.track("Referral Campaign", props);
            mixpanel.flush();

        } catch (Exception e) {
            e.printStackTrace();
        }


    }

    //getting each parameter 

    public static Map<String, String> splitQuery(String url)
            throws UnsupportedEncodingException {
        Map<String, String> query_pairs = new LinkedHashMap<String, String>();
        String[] pairs = url.split("&");
        for (String pair : pairs) {
            int idx = pair.indexOf("=");
            query_pairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"),
                    URLDecoder.decode(pair.substring(idx + 1), "UTF-8"));
        }
        return query_pairs;
    }
}

и установите приемник в манифесте

<receiver
            android:name=".ReferalIntentReciever"
            android:exported="true" >
            <intent-filter>
                <action android:name="com.android.vending.INSTALL_REFERRER" />
            </intent-filter>
        </receiver> 

также проверьте это отслеживание кампаний в Google Play без реализации Google Analytics Android

person Sishin    schedule 25.09.2014
comment
как прикрепить реферальный код к пригласительному сообщению. - person andinrajesh; 25.09.2014
comment
добавьте параметр реферала в URL реферала play.google.com/ store/apps/details?id=com.example.app &referrer=utm_source%3Dgoogle %26utm_medium%3Dcpc %26utm_term%3Drunning%252Bshoes %26utm_content%3DdisplayAd1 %26utm_campaign%3Dshoe%252Bcampaign - person Sishin; 25.09.2014
comment
utm_source=test_source&utm_medium=test_medium&utm_term=test_term&utm_content=test_content&utm_campaign=test_name - person Sishin; 25.09.2014