Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

package com.saholic.profittill.main;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;

import com.google.android.gms.analytics.HitBuilders;
import com.google.android.gms.analytics.Tracker;
import com.mixpanel.android.mpmetrics.MixpanelAPI;
import com.saholic.profittill.Constants.ProfitTillConstants;
import com.saholic.profittill.Utils.UtilityFunctions;
import com.saholic.profittill.Volley.Analytics;
import com.saholic.profittill.Volley.AnalyticsErrorResponse;
import com.saholic.profittill.Volley.AnalyticsStringResponse;

import org.json.JSONException;
import org.json.JSONObject;

import java.net.URLDecoder;
import java.util.Date;
import java.util.StringTokenizer;

public class ReferrerReceiver extends BroadcastReceiver {
    SharedPreferences.Editor inviteDataEditor;
    SharedPreferences inviteData;
    public ReferrerReceiver() {

    }
    @Override
    public void onReceive(Context context, Intent intent) {
        try {
            inviteData = context.getSharedPreferences("Invite_Data", Context.MODE_PRIVATE);
            inviteDataEditor = inviteData.edit();
            MixpanelAPI mixpanel = MixpanelAPI.getInstance(context, ProfitTillConstants.MIX_PANEL_TOKEN);
            JSONObject props = new JSONObject();
            try {
                props.put("Campaign reciever", "Campaign");
                props.put("Time", new Date());
                mixpanel.track("Campaign", props);
            } catch (JSONException e) {
                e.printStackTrace();
            }
            String referrer = intent.getStringExtra("referrer");
            System.out.println("Referrer" + referrer);
            new Analytics(ProfitTillConstants.REFERRAL_URL,
                    UtilityFunctions.getReferralRequest(context,referrer),
                    AnalyticsStringResponse.getAnalyticsStringRequestInstance(),
                    AnalyticsErrorResponse.getAnalyitcsResponseInstance(),1).anlyticsRequest(context);
            String decodedUrl = URLDecoder.decode(referrer);
            StringTokenizer st = new StringTokenizer(decodedUrl, "&");
            while (st.hasMoreTokens()) {
                String token = st.nextToken();
                String[] sourceValue = token.split("=");
                inviteDataEditor.putString(sourceValue[0], sourceValue[1]);
                System.out.println("Name " + sourceValue[0] + " Value " + sourceValue[1]);
            }
            inviteDataEditor.commit();
            Tracker t = ((GoogleAnalyticsTracker) context.getApplicationContext()).getTracker(
                    GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
            t.setScreenName("Campaign");
            t.send(new HitBuilders.EventBuilder()
                    .setCategory("Campaign Action")
                    .setAction("Campaign " + referrer)
                    .setLabel("Campaign details " + decodedUrl)
                    .build());
            t.send(new HitBuilders.ScreenViewBuilder().build());
            inviteDataEditor.putBoolean("inviteCodeRequired", false);
            inviteDataEditor.commit();
        }catch (Exception e){
            Tracker t = ((GoogleAnalyticsTracker) context.getApplicationContext()).getTracker(
                    GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
            t.send(new HitBuilders.ExceptionBuilder().setDescription("Campaign Exception").build());
        }
    }
}