appsflyer install tracking (#181)

* appsflyer install tracking

* pr changes
This commit is contained in:
Satish Prasad
2020-01-23 17:43:39 +05:30
committed by GitHub Enterprise
parent 68f94c55d4
commit e59a445d79
6 changed files with 80 additions and 0 deletions

View File

@@ -95,8 +95,13 @@ dependencies {
// for firebase push notification
implementation 'com.google.firebase:firebase-messaging:20.1.0'
implementation group: 'joda-time', name: 'joda-time', version: '2.10.5'
//Appsflyer sdk integration
implementation 'com.appsflyer:af-android-sdk:5.1.0'
implementation 'com.android.installreferrer:installreferrer:1.0'
// AndroidJUnitRunner and JUnit Rules
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test:rules:1.0.2'

View File

@@ -11,6 +11,7 @@
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<application
android:name=".app.NaviApplication"
@@ -91,6 +92,16 @@
<meta-data
android:name="firebase_analytics_collection_enabled"
android:value="false" />
<!-- for Appsflyer install tracking-->
<receiver
android:name="com.appsflyer.SingleInstallBroadcastReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
</application>
</manifest>

View File

@@ -0,0 +1,43 @@
/*
* *
* * Copyright (c) 2020 . All rights reserved @Navi
*
*/
package com.navi.analytics
import android.app.Application
import com.appsflyer.AppsFlyerConversionListener
import com.appsflyer.AppsFlyerLib
import com.navi.BuildConfig
import com.navi.R
object AppsFlyerUtil {
fun init(appContext: Application) {
try {
val conversionDataListener = object : AppsFlyerConversionListener {
override fun onAppOpenAttribution(data: MutableMap<String, String>?) {
}
override fun onConversionDataSuccess(data: MutableMap<String, Any>?) {
}
override fun onConversionDataFail(error: String?) {
}
override fun onAttributionFailure(error: String?) {
}
}
AppsFlyerLib.getInstance().init(
appContext.getString(R.string.apps_flyer_dev_key),
conversionDataListener,
appContext
)
AppsFlyerLib.getInstance().startTracking(appContext)
AppsFlyerLib.getInstance().setDebugLog(BuildConfig.DEBUG)
} catch (e: Exception) {
}
}
}

View File

@@ -0,0 +1,16 @@
/*
* *
* * Copyright (c) 2020 . All rights reserved @Navi
*
*/
package com.navi.analytics
import com.navi.app.NaviApplication
object NaviTrackEvent {
fun appInit(appContext: NaviApplication) {
AppsFlyerUtil.init(appContext)
}
}

View File

@@ -9,6 +9,7 @@ package com.navi.app
import androidx.multidex.MultiDexApplication
import com.facebook.stetho.Stetho
import com.navi.BuildConfig
import com.navi.analytics.NaviTrackEvent
import timber.log.Timber
class NaviApplication : MultiDexApplication() {
@@ -20,6 +21,8 @@ class NaviApplication : MultiDexApplication() {
if (BuildConfig.DEBUG) {
Stetho.initializeWithDefaults(this)
}
NaviTrackEvent.appInit(this)
}
companion object {

View File

@@ -22,4 +22,6 @@
<string name="menu_help_tag">menu_help_tag</string>
<string name="default_notification_channel_id">navi.channel</string>
<string name="apps_flyer_dev_key">SwphSVn7YVzwCFFoAQNDKX</string>
</resources>