package com.malmstein.yahnac.analytics; import android.content.Context; import android.os.Bundle; import com.google.firebase.analytics.FirebaseAnalytics; import com.malmstein.yahnac.BuildConfig; import com.malmstein.yahnac.model.Story; public class UsageAnalytics { private FirebaseAnalytics analytics; private boolean isActive() { return BuildConfig.ENABLE_USAGE_ANALYTICS; } public void initTracker(Context context) { analytics = FirebaseAnalytics.getInstance(context); } public void trackPage(String page) { if (isActive() && analytics != null) { Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, page); analytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle); } } public void trackStory(String page, Story story) { if (isActive() && analytics != null) { Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_ID, story.getId().toString()); bundle.putString(FirebaseAnalytics.Param.ITEM_CATEGORY, story.getType()); bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, page); analytics.logEvent(FirebaseAnalytics.Event.VIEW_ITEM, bundle); } } public void trackEvent(String action) { if (isActive() && analytics != null) { Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, action); analytics.logEvent(FirebaseAnalytics.Event.VIEW_ITEM, bundle); } } public void trackLogin(String user) { if (isActive() && analytics != null) { Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, user); analytics.logEvent(FirebaseAnalytics.Event.LOGIN, bundle); } } public void trackNavigateEvent(String action, Story story) { if (isActive() && analytics != null) { Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_ID, story.getId().toString()); bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, action); analytics.logEvent("Navigate", bundle); } } public void trackShareEvent(String action, Story story) { if (isActive() && analytics != null) { Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_ID, story.getId().toString()); bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, action); analytics.logEvent(FirebaseAnalytics.Event.SHARE, bundle); } } public void trackVoteEvent(String action, Story story) { if (isActive() && analytics != null) { Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_ID, story.getId().toString()); bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, action); analytics.logEvent("Vote", bundle); } } public void trackBookmarkEvent(String action, Story story) { if (isActive() && analytics != null) { Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_ID, story.getId().toString()); bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, action); analytics.logEvent("Bookmark", bundle); } } }