Отслеживание кампании Google Play без внедрения Google Analytics Android

Как внедрить систему отслеживания кампаний Google без использования Google Analytics?

Я использую mixpanel для отслеживания


person Sishin    schedule 01.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>

Теперь приложение готово к получению намерений из игрового магазина после установки.

person Sishin    schedule 01.09.2014
comment
есть ли способ распечатать / зарегистрировать значения referrerString? Кроме того, не могли бы вы предоставить какую-либо информацию об отправке обратной передачи из приложения. Спасибо - person onexf; 04.11.2016