| 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;
|
| 17061 |
manas |
7 |
|
| 14792 |
manas |
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;
|
| 17061 |
manas |
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;
|
| 14792 |
manas |
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);
|
| 17061 |
manas |
46 |
new Analytics(ProfitTillConstants.REFERRAL_URL,
|
|
|
47 |
UtilityFunctions.getReferralRequest(context,referrer),
|
|
|
48 |
AnalyticsStringResponse.getAnalyticsStringRequestInstance(),
|
|
|
49 |
AnalyticsErrorResponse.getAnalyitcsResponseInstance(),1).anlyticsRequest(context);
|
| 14792 |
manas |
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 |
}
|