Skip to content

Commit cbd5f13

Browse files
committed
Merge branch 'feat/analytics' into 'master'
Logování základních eventů do Analytics See merge request fmasa/pv239-project!86
2 parents e38e4d7 + 710a8b6 commit cbd5f13

File tree

4 files changed

+35
-0
lines changed

4 files changed

+35
-0
lines changed

app/src/main/java/cz/muni/fi/rpg/ui/characterCreation/CharacterCreationFragment.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ import android.widget.Toast
77
import androidx.fragment.app.Fragment
88
import androidx.navigation.fragment.findNavController
99
import androidx.navigation.fragment.navArgs
10+
import com.google.firebase.analytics.ktx.analytics
11+
import com.google.firebase.analytics.ktx.logEvent
12+
import com.google.firebase.ktx.Firebase
1013
import cz.muni.fi.rpg.R
1114
import cz.muni.fi.rpg.model.domain.character.*
1215
import cz.muni.fi.rpg.ui.common.BaseFragment
@@ -156,6 +159,12 @@ class CharacterCreationFragment(
156159
note = info.note
157160
)
158161
)
162+
163+
Firebase.analytics.logEvent("create_character") {
164+
param("party_id", characterId.partyId.toString())
165+
param("character_id", characterId.userId)
166+
}
167+
159168
toast("Your character has been created")
160169

161170
withContext(Dispatchers.Main) {

app/src/main/java/cz/muni/fi/rpg/ui/gameMaster/InvitationDialog.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ import androidx.appcompat.app.AlertDialog
99
import androidx.core.os.bundleOf
1010
import androidx.fragment.app.DialogFragment
1111
import com.fasterxml.jackson.databind.json.JsonMapper
12+
import com.google.firebase.analytics.FirebaseAnalytics
13+
import com.google.firebase.analytics.ktx.analytics
14+
import com.google.firebase.analytics.ktx.logEvent
1215
import com.google.firebase.dynamiclinks.ktx.androidParameters
1316
import com.google.firebase.dynamiclinks.ktx.dynamicLinks
1417
import com.google.firebase.dynamiclinks.ktx.shortLinkAsync
@@ -84,6 +87,12 @@ class InvitationDialog : DialogFragment(), CoroutineScope by CoroutineScope(Disp
8487
}
8588

8689
startActivity(Intent.createChooser(sendIntent, "Send link to your friends"))
90+
91+
Firebase.analytics.logEvent(FirebaseAnalytics.Event.SHARE) {
92+
param(FirebaseAnalytics.Param.CONTENT_TYPE, "party_invitation")
93+
param(FirebaseAnalytics.Param.ITEM_ID, invitation.partyId.toString())
94+
param(FirebaseAnalytics.Param.METHOD, "link")
95+
}
8796
}
8897
view.shareButton.isEnabled = true
8998
}

app/src/main/java/cz/muni/fi/rpg/ui/joinParty/JoinPartyDialog.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ import androidx.appcompat.app.AlertDialog
1111
import androidx.core.os.bundleOf
1212
import androidx.core.text.bold
1313
import androidx.fragment.app.DialogFragment
14+
import com.google.firebase.analytics.FirebaseAnalytics
15+
import com.google.firebase.analytics.ktx.analytics
16+
import com.google.firebase.analytics.ktx.logEvent
17+
import com.google.firebase.ktx.Firebase
1418
import cz.muni.fi.rpg.R
1519
import cz.muni.fi.rpg.model.domain.invitation.AlreadyInParty
1620
import cz.muni.fi.rpg.model.domain.invitation.InvalidInvitation
@@ -105,6 +109,11 @@ class JoinPartyDialog : DialogFragment(), CoroutineScope by CoroutineScope(Dispa
105109
joining = launch {
106110
try {
107111
viewModel.acceptInvitation(userId, invitation)
112+
113+
Firebase.analytics.logEvent(FirebaseAnalytics.Event.JOIN_GROUP) {
114+
param(FirebaseAnalytics.Param.GROUP_ID, invitation.partyId.toString())
115+
}
116+
108117
listener.onSuccessfulPartyJoin()
109118

110119
return@launch

app/src/main/java/cz/muni/fi/rpg/ui/partyList/AssemblePartyDialog.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ import android.view.View
77
import android.widget.Toast
88
import androidx.appcompat.app.AlertDialog
99
import androidx.fragment.app.DialogFragment
10+
import com.google.firebase.analytics.ktx.analytics
11+
import com.google.firebase.analytics.ktx.logEvent
12+
import com.google.firebase.ktx.Firebase
1013
import cz.muni.fi.rpg.R
1114
import cz.muni.fi.rpg.model.domain.common.CouldNotConnectToBackend
1215
import cz.muni.fi.rpg.model.domain.party.Party
@@ -104,6 +107,11 @@ class AssemblePartyDialog : DialogFragment(), CoroutineScope by CoroutineScope(D
104107
parties.save(party)
105108
toast("Party $partyName was created")
106109
Timber.d(tag, "Party $partyName was successfully created")
110+
111+
Firebase.analytics.logEvent("create_party") {
112+
param("id", party.id.toString())
113+
}
114+
107115
withContext(Dispatchers.Main) { listener.onSuccessfulCreation(party) }
108116
} catch (e: CouldNotConnectToBackend) {
109117
Timber.i(e, "User could not assemble party, because (s)he is offline")

0 commit comments

Comments
 (0)