Add widget and timer tracking

pull/384/head
Alex Baker 8 years ago
parent 1c227e92a5
commit d066c3179f

@ -3,7 +3,6 @@ package org.tasks.analytics;
import android.content.Context;
import com.android.vending.billing.IabResult;
import com.android.vending.billing.Purchase;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.HitBuilders;
import com.google.android.gms.analytics.StandardExceptionParser;
@ -52,11 +51,13 @@ public class Tracker {
}
public void reportEvent(Tracking.Events event) {
tracker.send(new HitBuilders.EventBuilder()
HitBuilders.EventBuilder eventBuilder = new HitBuilders.EventBuilder()
.setCategory(context.getString(event.category))
.setAction(context.getString(event.action))
.setLabel(context.getString(event.label))
.build());
.setAction(context.getString(event.action));
if (event.label > 0) {
eventBuilder.setLabel(context.getString(event.label));
}
tracker.send(eventBuilder.build());
}
public void reportIabResult(IabResult result, String sku) {

@ -35,6 +35,7 @@ import com.todoroo.astrid.utility.Flags;
import org.tasks.R;
import org.tasks.analytics.Tracker;
import org.tasks.analytics.Tracking;
import org.tasks.dialogs.DialogBuilder;
import org.tasks.fragments.TaskEditControlSetFragmentManager;
import org.tasks.injection.ForActivity;
@ -180,6 +181,7 @@ public final class TaskEditFragment extends InjectingFragment implements Toolbar
}
public Task startTimer() {
tracker.reportEvent(Tracking.Events.TIMER_START);
TimerPlugin.startTimer(notificationManager, taskService, context, model);
addComment(String.format("%s %s",
getString(R.string.TEA_timer_comment_started),

@ -5,12 +5,19 @@ import org.tasks.R;
public class Tracking {
public enum Events {
SET_DEFAULT_LIST(R.string.tracking_category_preferences, R.string.tracking_action_set, R.string.p_default_list);
SET_DEFAULT_LIST(R.string.tracking_category_preferences, R.string.tracking_action_set, R.string.p_default_list),
WIDGET_ADD_SCROLLABLE(R.string.tracking_category_widget, R.string.tracking_action_add, R.string.app_name),
WIDGET_ADD_SHORTCUT(R.string.tracking_category_widget, R.string.tracking_action_add, R.string.FSA_label),
TIMER_START(R.string.tracking_category_timer, R.string.tracking_action_start);
public final int category;
public final int action;
public final int label;
Events(int category, int action) {
this(category, action, 0);
}
Events(int category, int action, int label) {
this.category = category;
this.action = action;

@ -10,6 +10,8 @@ import com.todoroo.astrid.api.Filter;
import org.tasks.R;
import org.tasks.activities.FilterSelectionActivity;
import org.tasks.analytics.Tracker;
import org.tasks.analytics.Tracking;
import org.tasks.injection.ActivityComponent;
import org.tasks.injection.InjectingAppCompatActivity;
import org.tasks.intents.TaskIntents;
@ -22,6 +24,7 @@ public class ShortcutConfigActivity extends InjectingAppCompatActivity {
private static final int REQUEST_FILTER = 1019;
@Inject DefaultFilterProvider defaultFilterProvider;
@Inject Tracker tracker;
@Override
public void onCreate(Bundle icicle) {
@ -36,6 +39,7 @@ public class ShortcutConfigActivity extends InjectingAppCompatActivity {
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_FILTER) {
if (resultCode == Activity.RESULT_OK) {
tracker.reportEvent(Tracking.Events.WIDGET_ADD_SHORTCUT);
Filter filter = data.getParcelableExtra(FilterSelectionActivity.EXTRA_FILTER);
String filterId = defaultFilterProvider.getFilterPreferenceValue(filter);
Intent shortcutIntent = TaskIntents.getTaskListByIdIntent(this, filterId);

@ -6,6 +6,8 @@ import android.appwidget.AppWidgetManager;
import android.content.Intent;
import android.os.Bundle;
import org.tasks.analytics.Tracker;
import org.tasks.analytics.Tracking;
import org.tasks.injection.ActivityComponent;
import org.tasks.injection.InjectingAppCompatActivity;
import org.tasks.preferences.ActivityPreferences;
@ -28,6 +30,7 @@ public class WidgetConfigActivity extends InjectingAppCompatActivity implements
private int appWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID;
@Inject ActivityPreferences preferences;
@Inject Tracker tracker;
@Override
public void onCreate(Bundle savedInstanceState) {
@ -63,6 +66,7 @@ public class WidgetConfigActivity extends InjectingAppCompatActivity implements
@Override
public void ok() {
tracker.reportEvent(Tracking.Events.WIDGET_ADD_SCROLLABLE);
Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
setResult(RESULT_OK, resultValue);

@ -283,8 +283,12 @@
<string name="p_default_list">default_list</string>
<string name="tracking_category_preferences">Preferences</string>
<string name="tracking_category_widget">Widget</string>
<string name="tracking_category_timer">Timer</string>
<string name="tracking_category_iab">IAB</string>
<string name="tracking_action_set">Set</string>
<string name="tracking_action_add">Add</string>
<string name="tracking_action_start">Start</string>
<string name="p_tesla_unread_enabled">tesla_unread_enabled</string>
<string name="p_purchased_tesla_unread">purchased_tesla_unread</string>
<string name="p_purchased_tasker">purchased_tasker</string>

Loading…
Cancel
Save