parent
6065b353fd
commit
c0c31a23cc
|
@ -35,8 +35,8 @@ android {
|
||||||
applicationId "kr.co.vividnext.sodalive"
|
applicationId "kr.co.vividnext.sodalive"
|
||||||
minSdk 23
|
minSdk 23
|
||||||
targetSdk 34
|
targetSdk 34
|
||||||
versionCode 149
|
versionCode 151
|
||||||
versionName "1.30.0"
|
versionName "1.31.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
|
|
|
@ -4,19 +4,17 @@ import android.app.Application
|
||||||
import android.content.pm.ApplicationInfo
|
import android.content.pm.ApplicationInfo
|
||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
|
||||||
import androidx.appcompat.app.AppCompatDelegate
|
import androidx.appcompat.app.AppCompatDelegate
|
||||||
import com.appsflyer.AppsFlyerLib
|
import com.appsflyer.AppsFlyerLib
|
||||||
import com.appsflyer.deeplink.DeepLinkResult
|
import com.appsflyer.deeplink.DeepLinkResult
|
||||||
import com.facebook.FacebookSdk
|
import com.facebook.FacebookSdk
|
||||||
import com.google.firebase.analytics.ktx.analytics
|
|
||||||
import com.google.firebase.ktx.Firebase
|
|
||||||
import com.orhanobut.logger.AndroidLogAdapter
|
import com.orhanobut.logger.AndroidLogAdapter
|
||||||
import com.orhanobut.logger.Logger
|
import com.orhanobut.logger.Logger
|
||||||
import kr.co.vividnext.sodalive.BuildConfig
|
import kr.co.vividnext.sodalive.BuildConfig
|
||||||
import kr.co.vividnext.sodalive.common.ImageLoaderProvider
|
import kr.co.vividnext.sodalive.common.ImageLoaderProvider
|
||||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
||||||
import kr.co.vividnext.sodalive.di.AppDI
|
import kr.co.vividnext.sodalive.di.AppDI
|
||||||
|
import kr.co.vividnext.sodalive.tracking.FirebaseTracking
|
||||||
|
|
||||||
class SodaLiveApp : Application() {
|
class SodaLiveApp : Application() {
|
||||||
override fun onCreate() {
|
override fun onCreate() {
|
||||||
|
@ -106,13 +104,6 @@ class SodaLiveApp : Application() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun logUtmInFirebase() {
|
private fun logUtmInFirebase() {
|
||||||
val firebaseAnalytics = Firebase.analytics
|
FirebaseTracking.logUtm()
|
||||||
val params = Bundle().apply {
|
|
||||||
putString("utm_source", SharedPreferenceManager.marketingUtmSource)
|
|
||||||
putString("utm_medium", SharedPreferenceManager.marketingUtmMedium)
|
|
||||||
putString("utm_campaign", SharedPreferenceManager.marketingUtmCampaign)
|
|
||||||
}
|
|
||||||
|
|
||||||
firebaseAnalytics.logEvent("campaign_utm", params)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
package kr.co.vividnext.sodalive.tracking
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import com.google.firebase.analytics.FirebaseAnalytics
|
||||||
|
import com.google.firebase.analytics.ktx.analytics
|
||||||
|
import com.google.firebase.ktx.Firebase
|
||||||
|
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
||||||
|
|
||||||
|
object FirebaseTracking {
|
||||||
|
fun signUp(method: String) {
|
||||||
|
val firebaseAnalytics = Firebase.analytics
|
||||||
|
val params = Bundle().apply {
|
||||||
|
putString(FirebaseAnalytics.Param.METHOD, method)
|
||||||
|
}
|
||||||
|
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SIGN_UP, params)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun login(method: String) {
|
||||||
|
val firebaseAnalytics = Firebase.analytics
|
||||||
|
val params = Bundle().apply {
|
||||||
|
putString(FirebaseAnalytics.Param.METHOD, method)
|
||||||
|
}
|
||||||
|
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.LOGIN, params)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun logUtm() {
|
||||||
|
val firebaseAnalytics = Firebase.analytics
|
||||||
|
val params = Bundle().apply {
|
||||||
|
putString("utm_source", SharedPreferenceManager.marketingUtmSource)
|
||||||
|
putString("utm_medium", SharedPreferenceManager.marketingUtmMedium)
|
||||||
|
putString("utm_campaign", SharedPreferenceManager.marketingUtmCampaign)
|
||||||
|
}
|
||||||
|
|
||||||
|
firebaseAnalytics.logEvent("campaign_utm", params)
|
||||||
|
}
|
||||||
|
}
|
|
@ -7,6 +7,7 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||||
import kr.co.vividnext.sodalive.base.BaseViewModel
|
import kr.co.vividnext.sodalive.base.BaseViewModel
|
||||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
||||||
|
import kr.co.vividnext.sodalive.tracking.FirebaseTracking
|
||||||
import kr.co.vividnext.sodalive.user.UserRepository
|
import kr.co.vividnext.sodalive.user.UserRepository
|
||||||
|
|
||||||
class LoginViewModel(private val repository: UserRepository) : BaseViewModel() {
|
class LoginViewModel(private val repository: UserRepository) : BaseViewModel() {
|
||||||
|
@ -53,6 +54,7 @@ class LoginViewModel(private val repository: UserRepository) : BaseViewModel() {
|
||||||
SharedPreferenceManager.nickname = it.data.nickname
|
SharedPreferenceManager.nickname = it.data.nickname
|
||||||
SharedPreferenceManager.profileImage = it.data.profileImage
|
SharedPreferenceManager.profileImage = it.data.profileImage
|
||||||
onSuccess(it.message)
|
onSuccess(it.message)
|
||||||
|
FirebaseTracking.login("email")
|
||||||
} else {
|
} else {
|
||||||
if (it.message != null) {
|
if (it.message != null) {
|
||||||
_toastLiveData.postValue(it.message)
|
_toastLiveData.postValue(it.message)
|
||||||
|
|
|
@ -11,6 +11,7 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||||
import kr.co.vividnext.sodalive.base.BaseViewModel
|
import kr.co.vividnext.sodalive.base.BaseViewModel
|
||||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
||||||
|
import kr.co.vividnext.sodalive.tracking.FirebaseTracking
|
||||||
import kr.co.vividnext.sodalive.user.Gender
|
import kr.co.vividnext.sodalive.user.Gender
|
||||||
import kr.co.vividnext.sodalive.user.UserRepository
|
import kr.co.vividnext.sodalive.user.UserRepository
|
||||||
import okhttp3.MediaType.Companion.toMediaType
|
import okhttp3.MediaType.Companion.toMediaType
|
||||||
|
@ -21,8 +22,10 @@ import java.io.File
|
||||||
|
|
||||||
class SignUpViewModel(private val repository: UserRepository) : BaseViewModel() {
|
class SignUpViewModel(private val repository: UserRepository) : BaseViewModel() {
|
||||||
enum class EmailSignUpStep {
|
enum class EmailSignUpStep {
|
||||||
@SerializedName("STEP_1") STEP_1,
|
@SerializedName("STEP_1")
|
||||||
@SerializedName("STEP_2") STEP_2
|
STEP_1,
|
||||||
|
@SerializedName("STEP_2")
|
||||||
|
STEP_2
|
||||||
}
|
}
|
||||||
|
|
||||||
var email = ""
|
var email = ""
|
||||||
|
@ -108,16 +111,16 @@ class SignUpViewModel(private val repository: UserRepository) : BaseViewModel()
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(
|
.subscribe(
|
||||||
{
|
{
|
||||||
|
_isLoading.value = false
|
||||||
if (it.success && it.data != null) {
|
if (it.success && it.data != null) {
|
||||||
SharedPreferenceManager.token = it.data.token
|
SharedPreferenceManager.token = it.data.token
|
||||||
SharedPreferenceManager.email = it.data.email
|
SharedPreferenceManager.email = it.data.email
|
||||||
SharedPreferenceManager.userId = it.data.userId
|
SharedPreferenceManager.userId = it.data.userId
|
||||||
SharedPreferenceManager.nickname = it.data.nickname
|
SharedPreferenceManager.nickname = it.data.nickname
|
||||||
SharedPreferenceManager.profileImage = it.data.profileImage
|
SharedPreferenceManager.profileImage = it.data.profileImage
|
||||||
_isLoading.value = false
|
|
||||||
onSuccess(it.message)
|
onSuccess(it.message)
|
||||||
|
FirebaseTracking.signUp("email")
|
||||||
} else {
|
} else {
|
||||||
_isLoading.value = false
|
|
||||||
if (it.errorProperty != null && it.message != null) {
|
if (it.errorProperty != null && it.message != null) {
|
||||||
_signUpErrorLiveData.postValue(
|
_signUpErrorLiveData.postValue(
|
||||||
SignUpError(it.errorProperty, it.message)
|
SignUpError(it.errorProperty, it.message)
|
||||||
|
|
Loading…
Reference in New Issue