Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14792 manas 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
import android.util.Log;
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
 
13
import org.json.JSONException;
14
import org.json.JSONObject;
15
 
16
import java.net.URLDecoder;
17
import java.util.Date;
18
import java.util.StringTokenizer;
19
 
20
public class ReferrerReceiver extends BroadcastReceiver {
21
    SharedPreferences.Editor inviteDataEditor;
22
    SharedPreferences inviteData;
23
    public ReferrerReceiver() {
24
 
25
    }
26
    @Override
27
    public void onReceive(Context context, Intent intent) {
28
        try {
29
            inviteData = context.getSharedPreferences("Invite_Data", Context.MODE_PRIVATE);
30
            inviteDataEditor = inviteData.edit();
31
            MixpanelAPI mixpanel = MixpanelAPI.getInstance(context, ProfitTillConstants.MIX_PANEL_TOKEN);
32
            JSONObject props = new JSONObject();
33
            try {
34
                props.put("Campaign reciever", "Campaign");
35
                props.put("Time", new Date());
36
                mixpanel.track("Campaign", props);
37
            } catch (JSONException e) {
38
           /* TestinAgent.uploadException(this,"Exception in Resolve sign in error", e.printStackTrace());*/
39
                e.printStackTrace();
40
            }
41
            String referrer = intent.getStringExtra("referrer");
42
            System.out.println("Referrer" + referrer);
43
 
44
            String decodedUrl = URLDecoder.decode(referrer);
45
            StringTokenizer st = new StringTokenizer(decodedUrl, "&");
46
            while (st.hasMoreTokens()) {
47
                String token = st.nextToken();
48
                String[] sourceValue = token.split("=");
49
                inviteDataEditor.putString(sourceValue[0], sourceValue[1]);
50
                System.out.println("Name " + sourceValue[0] + " Value " + sourceValue[1]);
51
            }
52
            inviteDataEditor.commit();
53
            Tracker t = ((GoogleAnalyticsTracker) context.getApplicationContext()).getTracker(
54
                    GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
55
            t.setScreenName("Campaign");
56
            t.send(new HitBuilders.EventBuilder()
57
                    .setCategory("Campaign Action")
58
                    .setAction("Campaign " + referrer)
59
                    .setLabel("Campaign details " + decodedUrl)
60
                    .build());
61
            t.send(new HitBuilders.ScreenViewBuilder().build());
62
            inviteDataEditor.putBoolean("inviteCodeRequired", false);
63
            inviteDataEditor.commit();
64
        }catch (Exception e){
65
            Tracker t = ((GoogleAnalyticsTracker) context.getApplicationContext()).getTracker(
66
                    GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
67
            t.send(new HitBuilders.ExceptionBuilder().setDescription("Campaign Exception").build());
68
        }
69
    }
70
}