Skip to content

Commit 3dd3454

Browse files
Updated Android Dispatchers
1 parent 04ccdc0 commit 3dd3454

File tree

4 files changed

+18
-49
lines changed

4 files changed

+18
-49
lines changed

android-analytics/kit-answers/src/main/java/com/sofakingforever/analytics/kits/answers/AnswersDispatcherImpl.kt

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,15 @@ package com.sofakingforever.analytics.kits.answers
22

33
import android.content.Context
44
import com.crashlytics.android.answers.Answers
5-
import com.sofakingforever.analytics.AnalyticsDispatcher
5+
import com.sofakingforever.analytics.android.AndroidAnalyticsDispatcher
66
import com.sofakingforever.analytics.events.SetUserProperties
7-
import com.sofakingforever.analytics.events.SetUserProperty
87
import io.fabric.sdk.android.Fabric
98
import io.fabric.sdk.android.Kit
109

1110
/**
1211
* @property - fabricKits - if you use this property, you must include a new Answers instance
1312
*/
14-
class AnswersDispatcherImpl(override val init: Boolean, private vararg val fabricKits: Kit<*> = arrayOf(Answers())) : AnalyticsDispatcher {
13+
class AnswersDispatcherImpl(override val init: Boolean, override val context: Context, private vararg val fabricKits: Kit<*> = arrayOf(Answers())) : AndroidAnalyticsDispatcher {
1514

1615

1716
override val dispatcherName: String = DispatcherName
@@ -20,7 +19,7 @@ class AnswersDispatcherImpl(override val init: Boolean, private vararg val fabri
2019

2120
private val instance: Answers by lazy { Answers.getInstance() }
2221

23-
override fun initDispatcher(context: Context) {
22+
override fun initDispatcher() {
2423
// init Fabric with Answers, and any additonal fabric kits supplied
2524
Fabric.with(context, *fabricKits)
2625
}
@@ -33,10 +32,6 @@ class AnswersDispatcherImpl(override val init: Boolean, private vararg val fabri
3332
instance.logContentView(contentView.createAnswersEvent())
3433
}
3534

36-
override fun trackInviteEvent(inviteEvent: com.sofakingforever.analytics.events.InviteEvent) {
37-
instance.logInvite(inviteEvent.createAnswersInviteEvent())
38-
}
39-
4035
override fun setUserProperties(properties: SetUserProperties) {
4136
// Answers doesn't support this
4237
}
@@ -66,10 +61,6 @@ class AnswersDispatcherImpl(override val init: Boolean, private vararg val fabri
6661
return com.crashlytics.android.answers.ContentViewEvent().putContentName(this.getViewName(kit))
6762
}
6863

69-
private fun com.sofakingforever.analytics.events.InviteEvent.createAnswersInviteEvent(): com.crashlytics.android.answers.InviteEvent {
70-
return com.crashlytics.android.answers.InviteEvent().putMethod(this.getInviteMethod()).putCustomAttribute("shareVia", this.shareVia)
71-
}
72-
7364
companion object {
7465
const val DispatcherName = "DefaultAnswersDispatcher"
7566
}

android-analytics/kit-firebase/src/main/java/com/sofakingforever/analytics/kits/firebase/FirebaseDispatcherImpl.kt

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,23 @@ package com.sofakingforever.analytics.kits.firebase
33
import android.content.Context
44
import android.os.Bundle
55
import com.google.firebase.analytics.FirebaseAnalytics
6-
import com.sofakingforever.analytics.AnalyticsDispatcher
7-
import com.sofakingforever.analytics.events.*
6+
import com.sofakingforever.analytics.android.AndroidAnalyticsDispatcher
7+
import com.sofakingforever.analytics.events.ContentViewEvent
8+
import com.sofakingforever.analytics.events.CustomEvent
9+
import com.sofakingforever.analytics.events.SetUserProperties
810

9-
class FirebaseDispatcherImpl(override val init: Boolean) : AnalyticsDispatcher {
11+
class FirebaseDispatcherImpl(override val init: Boolean, override val context: Context) : AndroidAnalyticsDispatcher {
1012

1113
override val dispatcherName: String = DispatcherName
1214

13-
constructor() : this(true)
15+
constructor(context: Context) : this(true, context)
1416

1517
override val kit = FirebaseKit.instance
1618

1719
var firebaseAnalytics: FirebaseAnalytics? = null
1820

1921

20-
override fun initDispatcher(context: Context) {
22+
override fun initDispatcher() {
2123
firebaseAnalytics = FirebaseAnalytics.getInstance(context)
2224
}
2325

@@ -30,9 +32,6 @@ class FirebaseDispatcherImpl(override val init: Boolean) : AnalyticsDispatcher {
3032
firebaseAnalytics?.logEvent("contentView_" + contentView.getViewName(kit).firebaseFriendly(), Bundle.EMPTY)
3133
}
3234

33-
override fun trackInviteEvent(inviteEvent: InviteEvent) {
34-
firebaseAnalytics?.logEvent(FirebaseAnalytics.Event.SHARE, inviteEvent.getBundle())
35-
}
3635
override fun setUserProperties(properties: SetUserProperties) {
3736
properties.getUserProperties(kit).forEach {
3837
firebaseAnalytics?.setUserProperty(it.key, it.value.toString())
@@ -51,27 +50,17 @@ class FirebaseDispatcherImpl(override val init: Boolean) : AnalyticsDispatcher {
5150

5251
}
5352

54-
55-
private fun InviteEvent.getBundle(): Bundle {
56-
val bundle = Bundle()
57-
58-
bundle.putString("packageName", packageName)
59-
bundle.putString("appName", getInviteMethod())
60-
61-
return bundle
62-
}
63-
6453
private fun CustomEvent.getBundle(): Bundle {
6554
val bundle = Bundle()
6655

6756
getParameters(kit).forEach {
6857
when {
69-
// numbers
58+
// numbers
7059
it.value is Int -> bundle.putInt(it.key, it.value as Int)
7160
it.value is Float -> bundle.putFloat(it.key, it.value as Float)
7261
it.value is Double -> bundle.putDouble(it.key, it.value as Double)
7362
it.value is Long -> bundle.putLong(it.key, it.value as Long)
74-
// other stuff
63+
// other stuff
7564
it.value is String -> bundle.putString(it.key, it.value as String)
7665
it.value is Boolean -> bundle.putBoolean(it.key, it.value as Boolean)
7766

android-analytics/kit-flurry/src/main/java/com/sofakingforever/analytics/kits/flurry/FlurryDispatcherImpl.kt

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,20 @@ package com.sofakingforever.analytics.kits.flurry
22

33
import android.content.Context
44
import com.flurry.android.FlurryAgent
5-
import com.sofakingforever.analytics.AnalyticsDispatcher
5+
import com.sofakingforever.analytics.android.AndroidAnalyticsDispatcher
66
import com.sofakingforever.analytics.events.ContentViewEvent
77
import com.sofakingforever.analytics.events.CustomEvent
8-
import com.sofakingforever.analytics.events.InviteEvent
98
import com.sofakingforever.analytics.events.SetUserProperties
109

11-
class FlurryDispatcherImpl(val apiKey: String) : AnalyticsDispatcher {
10+
class FlurryDispatcherImpl(override val context: Context, val apiKey: String) : AndroidAnalyticsDispatcher {
1211

1312
override val dispatcherName: String = DispatcherName
1413

1514
override val init: Boolean = true
1615

1716
override val kit = FlurryKit.instance
1817

19-
override fun initDispatcher(context: Context) {
18+
override fun initDispatcher() {
2019
FlurryAgent.Builder()
2120
.withLogEnabled(true)
2221
.build(context, apiKey)
@@ -33,11 +32,6 @@ class FlurryDispatcherImpl(val apiKey: String) : AnalyticsDispatcher {
3332
FlurryAgent.logEvent("contentView_" + contentView.getViewName(kit))
3433
}
3534

36-
override fun trackInviteEvent(inviteEvent: InviteEvent) {
37-
FlurryAgent.logEvent("inviteEvent_" + inviteEvent.packageName)
38-
39-
}
40-
4135
override fun setUserProperties(properties: SetUserProperties) {
4236
// Flurry doesn't support this
4337
}

android-analytics/kit-mixpanel/src/main/java/com/sofakingforever/analytics/kits/mixpanel/MixPanelDispatcherImpl.kt

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@ package com.sofakingforever.analytics.kits.mixpanel
22

33
import android.content.Context
44
import com.mixpanel.android.mpmetrics.MixpanelAPI
5-
import com.sofakingforever.analytics.AnalyticsDispatcher
65
import com.sofakingforever.analytics.AnalyticsKit
6+
import com.sofakingforever.analytics.android.AndroidAnalyticsDispatcher
77
import com.sofakingforever.analytics.events.ContentViewEvent
88
import com.sofakingforever.analytics.events.CustomEvent
9-
import com.sofakingforever.analytics.events.InviteEvent
109
import com.sofakingforever.analytics.events.SetUserProperties
1110

1211

13-
class MixPanelDispatcherImpl(override val init: Boolean = false, private val projectToken: String? = null) : AnalyticsDispatcher {
12+
class MixPanelDispatcherImpl(override val init: Boolean = false, override val context: Context, private val projectToken: String? = null) : AndroidAnalyticsDispatcher {
1413

1514

1615
override val dispatcherName: String = DispatcherName
@@ -20,7 +19,7 @@ class MixPanelDispatcherImpl(override val init: Boolean = false, private val pro
2019

2120
private lateinit var mixpanel: MixpanelAPI
2221

23-
override fun initDispatcher(context: Context) {
22+
override fun initDispatcher() {
2423
mixpanel = MixpanelAPI.getInstance(context, projectToken)
2524
}
2625

@@ -32,10 +31,6 @@ class MixPanelDispatcherImpl(override val init: Boolean = false, private val pro
3231
mixpanel.trackMap(event.getEventName(kit), event.getParameters(kit))
3332
}
3433

35-
override fun trackInviteEvent(inviteEvent: InviteEvent) {
36-
// not implementing for mixpanel
37-
}
38-
3934
override fun setUserProperties(properties: SetUserProperties) {
4035
mixpanel.people.setMap(properties.getUserProperties(kit))
4136
}

0 commit comments

Comments
 (0)