Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
21478 rajender 1
package com.saholic.profittill.main;
2
 
3
import android.content.BroadcastReceiver;
4
import android.content.Context;
5
import android.content.Intent;
6
import android.content.SharedPreferences;
7
 
8
import com.google.android.gms.analytics.HitBuilders;
9
import com.google.android.gms.analytics.Tracker;
10
import com.mixpanel.android.mpmetrics.MixpanelAPI;
11
import com.saholic.profittill.Constants.ProfitTillConstants;
12
import com.saholic.profittill.Utils.UtilityFunctions;
13
import com.saholic.profittill.Volley.Analytics;
14
import com.saholic.profittill.Volley.AnalyticsErrorResponse;
15
import com.saholic.profittill.Volley.AnalyticsStringResponse;
16
 
17
import org.json.JSONException;
18
import org.json.JSONObject;
19
 
20
import java.net.URLDecoder;
21
import java.util.Date;
22
import java.util.StringTokenizer;
23
 
24
public class ReferrerReceiver extends BroadcastReceiver {
25
    SharedPreferences.Editor inviteDataEditor;
26
    SharedPreferences inviteData;
27
    public ReferrerReceiver() {
28
 
29
    }
30
    @Override
31
    public void onReceive(Context context, Intent intent) {
32
        try {
33
            inviteData = context.getSharedPreferences("Invite_Data", Context.MODE_PRIVATE);
34
            inviteDataEditor = inviteData.edit();
35
            MixpanelAPI mixpanel = MixpanelAPI.getInstance(context, ProfitTillConstants.MIX_PANEL_TOKEN);
36
            JSONObject props = new JSONObject();
37
            try {
38
                props.put("Campaign reciever", "Campaign");
39
                props.put("Time", new Date());
40
                mixpanel.track("Campaign", props);
41
            } catch (JSONException e) {
42
                e.printStackTrace();
43
            }
44
            String referrer = intent.getStringExtra("referrer");
45
            System.out.println("Referrer" + referrer);
46
            new Analytics(ProfitTillConstants.REFERRAL_URL,
47
                    UtilityFunctions.getReferralRequest(context,referrer),
48
                    AnalyticsStringResponse.getAnalyticsStringRequestInstance(),
49
                    AnalyticsErrorResponse.getAnalyitcsResponseInstance(),1).anlyticsRequest(context);
50
            String decodedUrl = URLDecoder.decode(referrer);
51
            StringTokenizer st = new StringTokenizer(decodedUrl, "&");
52
            while (st.hasMoreTokens()) {
53
                String token = st.nextToken();
54
                String[] sourceValue = token.split("=");
55
                inviteDataEditor.putString(sourceValue[0], sourceValue[1]);
56
                System.out.println("Name " + sourceValue[0] + " Value " + sourceValue[1]);
57
            }
58
            inviteDataEditor.commit();
59
            Tracker t = ((GoogleAnalyticsTracker) context.getApplicationContext()).getTracker(
60
                    GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
61
            t.setScreenName("Campaign");
62
            t.send(new HitBuilders.EventBuilder()
63
                    .setCategory("Campaign Action")
64
                    .setAction("Campaign " + referrer)
65
                    .setLabel("Campaign details " + decodedUrl)
66
                    .build());
67
            t.send(new HitBuilders.ScreenViewBuilder().build());
68
            inviteDataEditor.putBoolean("inviteCodeRequired", false);
69
            inviteDataEditor.commit();
70
        }catch (Exception e){
71
            Tracker t = ((GoogleAnalyticsTracker) context.getApplicationContext()).getTracker(
72
                    GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
73
            t.send(new HitBuilders.ExceptionBuilder().setDescription("Campaign Exception").build());
74
        }
75
    }
76
}