Skip to content

Commit

Permalink
v1.6.25
Browse files Browse the repository at this point in the history
  • Loading branch information
Sergey Korney committed Feb 16, 2024
1 parent e7769e4 commit 03e7b18
Show file tree
Hide file tree
Showing 23 changed files with 797 additions and 119 deletions.
19 changes: 18 additions & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -131,4 +131,21 @@ jobs:
# upload_url: ${{ steps.create_release.outputs.upload_url }}
# asset_path: internal/build/outputs/aar/internal-release.aar
# asset_name: internal-${{ steps.version_tag.outputs.VERSION }}.aar
# asset_content_type: application/aar
# asset_content_type: application/aar

- name: Build Demo App
if: ${{ !cancelled() }}
run: |
./gradlew :app:assembleDebug --no-daemon --no-parallel
- name: Upload Demo App 🗳
if: ${{ !cancelled() }}
id: upload-demo-app-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: app/build/outputs/apk/debug/app-debug.apk
asset_name: Affise-Demo-${{ steps.version_tag.outputs.VERSION }}.apk
asset_content_type: application/vnd.android.package-archive
44 changes: 22 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,12 +84,12 @@ For kotlin build script build.gradle.kts use:
```kotlin
dependencies {
// Add Affise library
implementation("com.affise:attribution:1.6.24")
implementation("com.affise:attribution:1.6.25")
// Add Affise modules
implementation("com.affise:module-advertising:1.6.24")
implementation("com.affise:module-network:1.6.24")
implementation("com.affise:module-phone:1.6.24")
implementation("com.affise:module-status:1.6.24")
implementation("com.affise:module-advertising:1.6.25")
implementation("com.affise:module-network:1.6.25")
implementation("com.affise:module-phone:1.6.25")
implementation("com.affise:module-status:1.6.25")
// Add install referrer
implementation("com.android.installreferrer:installreferrer:2.2")
}
Expand All @@ -100,22 +100,22 @@ For groovy build script build.gradle use:
```groovy
dependencies {
// Add Affise library
implementation 'com.affise:attribution:1.6.24'
implementation 'com.affise:attribution:1.6.25'
// Add Affise modules
implementation 'com.affise:module-advertising:1.6.24'
implementation 'com.affise:module-network:1.6.24'
implementation 'com.affise:module-phone:1.6.24'
implementation 'com.affise:module-status:1.6.24'
implementation 'com.affise:module-advertising:1.6.25'
implementation 'com.affise:module-network:1.6.25'
implementation 'com.affise:module-phone:1.6.25'
implementation 'com.affise:module-status:1.6.25'
// Add install referrer
implementation 'com.android.installreferrer:installreferrer:2.2'
}
```

### Integrate as file dependency

Download latest Affise SDK (`attribution-1.6.24.aar`)
Download latest Affise SDK (`attribution-1.6.25.aar`)
from [releases page](https://github.com/affise/sdk-android/releases) and place this binary to gradle application
module lib directory `app/libs/attribution-1.6.24.aar`
module lib directory `app/libs/attribution-1.6.25.aar`

Add library as gradle file dependency to application module build script
Add install referrer library
Expand All @@ -126,12 +126,12 @@ For kotlin build script build.gradle.kts use:
dependencies {
// ...
// Add Affise library
implementation(files("libs/attribution-1.6.24.aar"))
implementation(files("libs/attribution-1.6.25.aar"))
// Add Affise modules
implementation(files("libs/module-advertising-1.6.24.aar"))
implementation(files("libs/module-network-1.6.24.aar"))
implementation(files("libs/module-phone-1.6.24.aar"))
implementation(files("libs/module-status-1.6.24.aar"))
implementation(files("libs/module-advertising-1.6.25.aar"))
implementation(files("libs/module-network-1.6.25.aar"))
implementation(files("libs/module-phone-1.6.25.aar"))
implementation(files("libs/module-status-1.6.25.aar"))
// Add install referrer
implementation("com.android.installreferrer:installreferrer:2.2")
}
Expand All @@ -143,12 +143,12 @@ For groovy build script build.gradle use:
dependencies {
// ...
// Add Affise library
implementation files('libs/attribution-1.6.24.aar')
implementation files('libs/attribution-1.6.25.aar')
// Add Affise modules
implementation files('libs/module-advertising-1.6.24.aar')
implementation files('libs/module-network-1.6.24.aar')
implementation files('libs/module-phone-1.6.24.aar')
implementation files('libs/module-status-1.6.24.aar')
implementation files('libs/module-advertising-1.6.25.aar')
implementation files('libs/module-network-1.6.25.aar')
implementation files('libs/module-phone-1.6.25.aar')
implementation files('libs/module-status-1.6.25.aar')
// Add install referrer
implementation 'com.android.installreferrer:installreferrer:2.2'
}
Expand Down
52 changes: 38 additions & 14 deletions app/src/main/java/com/affise/app/application/App.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,9 @@ package com.affise.app.application
import android.content.SharedPreferences
import com.affise.app.dependencies.DaggerAppComponent
import com.affise.attribution.Affise
import com.affise.attribution.modules.AffiseModules
import com.google.firebase.FirebaseApp
import dagger.android.AndroidInjector
import dagger.android.DaggerApplication
import org.json.JSONObject
import javax.inject.Inject

class App : DaggerApplication() {
Expand All @@ -23,13 +21,13 @@ class App : DaggerApplication() {
// Initialize https://github.com/affise/sdk-android#initialize
Affise
.settings(
affiseAppId = "129",
secretKey = "93a40b54-6f12-443f-a250-ebf67c5ee4d2"
affiseAppId = prefString(AFFISE_APP_ID_KEY,"129"),
secretKey = prefString(SECRET_ID_KEY,"93a40b54-6f12-443f-a250-ebf67c5ee4d2")
)
.setProduction(false) //To enable debug methods set Production to false
.setProduction(prefBoolean(PRODUCTION_KEY, false)) //To enable debug methods set Production to false
// Custom domain example
// Url trailing slash is irrelevant
.setDomain("https://tracking.affattr.com")
.setDomain(prefString(DOMAIN_KEY, "https://tracking.affattr.com"))
.start(this) // Start Affise SDK

// Get module status https://github.com/affise/sdk-android#get-module-state
Expand All @@ -43,24 +41,42 @@ class App : DaggerApplication() {
// }

// Get referrer https://github.com/affise/sdk-android#get-referrer
Affise.getReferrer {
println("Referrer: $it")
}
// Affise.getReferrer {
// println("Referrer: $it")
// }

// Get providers https://github.com/affise/sdk-android#get-providers
// val providers = Affise.getProviders().entries.associate { it.key.provider to it.value }
// println("Providers: ${JSONObject(providers).toString(4)}")

// Debug: Validate credentials https://github.com/affise/sdk-android#validate-credentials
Affise.Debug.validate {
println("Affise: validate = $it")
}
// Affise.Debug.validate {
// println("Affise: validate = $it")
// }

debugRequest = prefBoolean(DEBUG_REQUEST_KEY)
debugResponse = prefBoolean(DEBUG_RESPONSE_KEY)
// Debug: network request/response
Affise.Debug.network { request, response ->
println("Affise: $request")
println("Affise: $response")
if (debugRequest) {
println("Affise: $request")
}
if (debugResponse) {
println("Affise: $response")
}
}
}

private fun prefString(key: String, default: String): String {
val value = preferences.getString(key, null)
if (value.isNullOrBlank()) {
return default
}
return value
}

private fun prefBoolean(key: String, default: Boolean = false): Boolean {
return preferences.getBoolean(key, default)
}

override fun applicationInjector(): AndroidInjector<out DaggerApplication> =
Expand All @@ -69,8 +85,16 @@ class App : DaggerApplication() {
.build()

companion object {
const val AFFISE_APP_ID_KEY = "AFFISE_APP_ID_KEY"
const val SECRET_ID_KEY = "SECRET_ID_KEY"
const val PRODUCTION_KEY = "PRODUCTION_KEY"
const val DOMAIN_KEY = "DOMAIN_KEY"
const val AUTO_CATCHING_TYPES_KEY = "AUTO_CATCHING_TYPES_KEY"
const val ENABLED_METRICS_KEY = "ENABLED_METRICS_KEY"
const val DEBUG_REQUEST_KEY = "DEBUG_REQUEST_KEY"
const val DEBUG_RESPONSE_KEY = "DEBUG_RESPONSE_KEY"

var debugRequest = false
var debugResponse = false
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package com.affise.app.dependencies.fragments

import com.affise.app.dependencies.fragments.modules.*
import com.affise.app.dependencies.scope.FragmentScope
import com.affise.app.ui.fragments.api.ApiFragment
import com.affise.app.ui.fragments.autoCatching.AutoCatchingFragment
import com.affise.app.ui.fragments.buttons.ButtonsFragment
import com.affise.app.ui.fragments.cart.CartFragment
Expand Down Expand Up @@ -52,4 +53,8 @@ abstract class FragmentModule {
@FragmentScope
@ContributesAndroidInjector(modules = [MetricsFragmentModule::class])
abstract fun metricsFragment(): MetricsFragment

@FragmentScope
@ContributesAndroidInjector(modules = [ApiFragmentModule::class])
abstract fun apiFragment(): ApiFragment
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.affise.app.dependencies.fragments.modules

import androidx.lifecycle.ViewModelProvider
import com.affise.app.dependencies.models.DaggerViewModelFactory
import com.affise.app.ui.activity.main.MenuHolder
import com.affise.app.ui.fragments.api.ApiContract
import com.affise.app.ui.fragments.api.ApiFragment
import com.affise.app.ui.fragments.api.ApiViewModel
import dagger.Module
import dagger.Provides

@Module
class ApiFragmentModule {

@Provides
fun provideMenuHolder(
fragment: ApiFragment
): MenuHolder = fragment.requireActivity() as MenuHolder

@Provides
fun provideViewModel(
fragment: ApiFragment,
viewModelFactory: DaggerViewModelFactory
): ApiContract.ViewModel = ViewModelProvider(
fragment, viewModelFactory
).get(ApiViewModel::class.java)
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package com.affise.app.dependencies.models

import androidx.lifecycle.ViewModel
import com.affise.app.ui.activity.main.MainActivityViewModel
import com.affise.app.ui.fragments.api.ApiViewModel
import com.affise.app.ui.fragments.autoCatching.AutoCatchingViewModel
import com.affise.app.ui.fragments.buttons.ButtonsViewModel
import com.affise.app.ui.fragments.cart.CartViewModel
Expand Down Expand Up @@ -67,4 +68,9 @@ interface ViewModelModule {
@IntoMap
@ViewModelKey(MetricsViewModel::class)
fun metricsViewModel(viewModel: MetricsViewModel): ViewModel

@Binds
@IntoMap
@ViewModelKey(ApiViewModel::class)
fun apiViewModel(viewModel: ApiViewModel): ViewModel
}
26 changes: 26 additions & 0 deletions app/src/main/java/com/affise/app/ui/fragments/api/ApiContract.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.affise.app.ui.fragments.api

import androidx.lifecycle.LiveData
import com.affise.attribution.referrer.ReferrerKey

interface ApiContract {
interface ViewModel {
val offlineModeState: LiveData<Boolean>
val backgroundTrackingModeState: LiveData<Boolean>
val trackingModeState: LiveData<Boolean>
val output: LiveData<String>
fun onDebugValidateClicked()
fun onRegisterDeeplinkClicked()
fun onGetReferrerClicked()
fun onGetReferrerValueClicked(key: ReferrerKey)
fun onStatusClicked()
fun onRandomPushTokenClicked()
fun onRandomUserIdClicked()
fun onRandomDeviceIdClicked()
fun onProvidersClicked()
fun onSetOfflineModeCheckboxClicked(isChecked: Boolean)
fun onSetBackgroundTrackingModeCheckboxClicked(isChecked: Boolean)
fun onSetTrackingModeCheckboxClicked(isChecked: Boolean)
fun clearOutput()
}
}
Loading

0 comments on commit 03e7b18

Please sign in to comment.