앱스플라이어
- sdk 추가 - 딥링크 & 디퍼드 딥링크에서 값 받아와서 SharedPreference에 저장 - test applink, test urischeme 설정
This commit is contained in:
		@@ -5,6 +5,8 @@ import android.content.pm.ApplicationInfo
 | 
			
		||||
import android.content.pm.PackageManager
 | 
			
		||||
import android.os.Build
 | 
			
		||||
import androidx.appcompat.app.AppCompatDelegate
 | 
			
		||||
import com.appsflyer.AppsFlyerLib
 | 
			
		||||
import com.appsflyer.deeplink.DeepLinkResult
 | 
			
		||||
import com.facebook.FacebookSdk
 | 
			
		||||
import com.orhanobut.logger.AndroidLogAdapter
 | 
			
		||||
import com.orhanobut.logger.Logger
 | 
			
		||||
@@ -32,6 +34,8 @@ class SodaLiveApp : Application() {
 | 
			
		||||
        ImageLoaderProvider.init(applicationContext)
 | 
			
		||||
 | 
			
		||||
        FacebookSdk.fullyInitialize()
 | 
			
		||||
 | 
			
		||||
        setupAppsFlyer()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun isDebuggable(): Boolean {
 | 
			
		||||
@@ -53,4 +57,50 @@ class SodaLiveApp : Application() {
 | 
			
		||||
 | 
			
		||||
        return debuggable
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun setupAppsFlyer() {
 | 
			
		||||
        clearDeferredDeepLink()
 | 
			
		||||
 | 
			
		||||
        // Appsflyer SDK 초기화
 | 
			
		||||
        AppsFlyerLib.getInstance().init("tWF2wbJ5nSkya5Ru9mGcPU", null, this)
 | 
			
		||||
        AppsFlyerLib.getInstance().start(this)
 | 
			
		||||
 | 
			
		||||
        // 딥링크 및 디퍼드 딥링크 처리
 | 
			
		||||
        AppsFlyerLib.getInstance().subscribeForDeepLink { deepLinkResult ->
 | 
			
		||||
            when (deepLinkResult.status) {
 | 
			
		||||
                DeepLinkResult.Status.FOUND -> {
 | 
			
		||||
                    val deepLink = deepLinkResult.deepLink
 | 
			
		||||
                    SharedPreferenceManager.marketingLinkValue = deepLink?.getStringValue(
 | 
			
		||||
                        "deep_link_value"
 | 
			
		||||
                    ) ?: ""
 | 
			
		||||
                    SharedPreferenceManager.marketingPid = deepLink?.getStringValue(
 | 
			
		||||
                        "deep_link_sub1"
 | 
			
		||||
                    ) ?: ""
 | 
			
		||||
                    SharedPreferenceManager.marketingUtmSource = deepLink?.getStringValue(
 | 
			
		||||
                        "deep_link_sub2"
 | 
			
		||||
                    ) ?: ""
 | 
			
		||||
                    SharedPreferenceManager.marketingUtmMedium = deepLink?.getStringValue(
 | 
			
		||||
                        "deep_link_sub3"
 | 
			
		||||
                    ) ?: ""
 | 
			
		||||
                    SharedPreferenceManager.marketingUtmCampaign = deepLink?.getStringValue(
 | 
			
		||||
                        "deep_link_sub4"
 | 
			
		||||
                    ) ?: ""
 | 
			
		||||
                    SharedPreferenceManager.marketingLinkValueId = deepLink?.getStringValue(
 | 
			
		||||
                        "deep_link_sub5"
 | 
			
		||||
                    )?.toLongOrNull() ?: 0L
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                DeepLinkResult.Status.NOT_FOUND -> Logger.d("딥링크를 찾을 수 없습니다.")
 | 
			
		||||
                DeepLinkResult.Status.ERROR -> Logger.d("딥링크 처리 중 오류 발생: ${deepLinkResult.error}")
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun clearDeferredDeepLink() {
 | 
			
		||||
        SharedPreferenceManager.marketingUtmSource = ""
 | 
			
		||||
        SharedPreferenceManager.marketingUtmMedium = ""
 | 
			
		||||
        SharedPreferenceManager.marketingUtmCampaign = ""
 | 
			
		||||
        SharedPreferenceManager.marketingLinkValue = ""
 | 
			
		||||
        SharedPreferenceManager.marketingLinkValueId = 0
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,13 @@ object Constants {
 | 
			
		||||
    const val PREF_NOT_SHOWING_EVENT_POPUP_ID = "pref_not_showing_event_popup_id"
 | 
			
		||||
    const val PREF_IS_VIEWED_ON_BOARDING_TUTORIAL = "pref_is_viewed_on_boarding_tutorial"
 | 
			
		||||
 | 
			
		||||
    const val PREF_MARKETING_PID = "pref_marketing_pid"
 | 
			
		||||
    const val PREF_MARKETING_UTM_SOURCE = "pref_marketing_utm_source"
 | 
			
		||||
    const val PREF_MARKETING_UTM_MEDIUM = "pref_marketing_utm_medium"
 | 
			
		||||
    const val PREF_MARKETING_UTM_CAMPAIGN = "pref_marketing_utm_campaign"
 | 
			
		||||
    const val PREF_MARKETING_LINK_VALUE = "pref_marketing_link_value"
 | 
			
		||||
    const val PREF_MARKETING_LINK_VALUE_ID = "pref_marketing_link_value_id"
 | 
			
		||||
 | 
			
		||||
    const val EXTRA_CAN = "extra_can"
 | 
			
		||||
    const val EXTRA_DATA = "extra_data"
 | 
			
		||||
    const val EXTRA_TERMS = "extra_terms"
 | 
			
		||||
 
 | 
			
		||||
@@ -174,4 +174,40 @@ object SharedPreferenceManager {
 | 
			
		||||
        set(value) {
 | 
			
		||||
            sharedPreferences[Constants.PREF_IS_PLAYER_SERVICE_RUNNING] = value
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    var marketingPid: String
 | 
			
		||||
        get() = sharedPreferences[Constants.PREF_MARKETING_PID]
 | 
			
		||||
        set(value) {
 | 
			
		||||
            sharedPreferences[Constants.PREF_MARKETING_PID] = value
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    var marketingUtmSource: String
 | 
			
		||||
        get() = sharedPreferences[Constants.PREF_MARKETING_UTM_SOURCE]
 | 
			
		||||
        set(value) {
 | 
			
		||||
            sharedPreferences[Constants.PREF_MARKETING_UTM_SOURCE] = value
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    var marketingUtmMedium: String
 | 
			
		||||
        get() = sharedPreferences[Constants.PREF_MARKETING_UTM_MEDIUM]
 | 
			
		||||
        set(value) {
 | 
			
		||||
            sharedPreferences[Constants.PREF_MARKETING_UTM_MEDIUM] = value
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    var marketingUtmCampaign: String
 | 
			
		||||
        get() = sharedPreferences[Constants.PREF_MARKETING_UTM_CAMPAIGN]
 | 
			
		||||
        set(value) {
 | 
			
		||||
            sharedPreferences[Constants.PREF_MARKETING_UTM_CAMPAIGN] = value
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    var marketingLinkValue: String
 | 
			
		||||
        get() = sharedPreferences[Constants.PREF_MARKETING_LINK_VALUE]
 | 
			
		||||
        set(value) {
 | 
			
		||||
            sharedPreferences[Constants.PREF_MARKETING_LINK_VALUE] = value
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    var marketingLinkValueId: Long
 | 
			
		||||
        get() = sharedPreferences[Constants.PREF_MARKETING_LINK_VALUE_ID, 0L]
 | 
			
		||||
        set(value) {
 | 
			
		||||
            sharedPreferences[Constants.PREF_MARKETING_LINK_VALUE_ID] = value
 | 
			
		||||
        }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user