Skip to content

Commit

Permalink
v1.6.48
Browse files Browse the repository at this point in the history
  • Loading branch information
Sergey Korney committed Nov 21, 2024
1 parent 2a2790f commit b49caf1
Show file tree
Hide file tree
Showing 44 changed files with 767 additions and 304 deletions.
13 changes: 13 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ jobs:
./gradlew :module-phone:publishToSonatype closeAndReleaseSonatypeStagingRepository --no-daemon --no-parallel
./gradlew :module-status:publishToSonatype closeAndReleaseSonatypeStagingRepository --no-daemon --no-parallel
./gradlew :module-subscription:publishToSonatype closeAndReleaseSonatypeStagingRepository --no-daemon --no-parallel
./gradlew :module-rustore:publishToSonatype closeAndReleaseSonatypeStagingRepository --no-daemon --no-parallel
./gradlew :internal:publishToSonatype closeAndReleaseSonatypeStagingRepository --no-daemon --no-parallel
- name: Version Tag
Expand Down Expand Up @@ -168,6 +169,18 @@ jobs:
asset_name: module-subscription-${{ steps.version_tag.outputs.VERSION }}.aar
asset_content_type: application/aar

# Release Upload Module RuStore
- name: Upload Release Module RuStore AAR 🗳
id: upload-module-rustore-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: module-rustore/build/outputs/aar/module-rustore-release.aar
asset_name: module-rustore-${{ steps.version_tag.outputs.VERSION }}.aar
asset_content_type: application/aar

# # Release Upload Internal library
# - name: Upload Release Internal AAR 🗳
# id: upload-internal-asset
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## [1.6.48] - 2024-11-21

### Added

- New module `RuStore`.

## [1.6.47] - 2024-10-21

### Fixed
Expand Down Expand Up @@ -163,6 +169,7 @@
- Improve `AffiseModuleManager`
- Update gradle for demo app.

[1.6.48]: https://github.com/affise/sdk-android/compare/v1.6.47...v1.6.48
[1.6.47]: https://github.com/affise/sdk-android/compare/v1.6.46...v1.6.47
[1.6.46]: https://github.com/affise/sdk-android/compare/v1.6.45...v1.6.46
[1.6.45]: https://github.com/affise/sdk-android/compare/v1.6.44...v1.6.45
Expand Down
78 changes: 44 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
| `com.affise:module-phone` | [![module-phone](https://img.shields.io/maven-central/v/com.affise/module-phone?label=latest)](https://mvnrepository.com/artifact/com.affise/module-phone) |
| `com.affise:module-status` | [![module-status](https://img.shields.io/maven-central/v/com.affise/module-status?label=latest)](https://mvnrepository.com/artifact/com.affise/module-status) |
| `com.affise:module-subscription` | [![module-subscription](https://img.shields.io/maven-central/v/com.affise/module-subscription?label=latest)](https://mvnrepository.com/artifact/com.affise/module-subscription) |
| `com.affise:module-rustore` | [![module-rustore](https://img.shields.io/maven-central/v/com.affise/module-rustore?label=latest)](https://mvnrepository.com/artifact/com.affise/module-rustore) |

- [Affise Attribution Android Library](#affise-attribution-android-library)
- [Description](#description)
Expand Down Expand Up @@ -99,15 +100,16 @@ For kotlin build script build.gradle.kts use:
```kotlin
dependencies {
// Add Affise library
implementation("com.affise:attribution:1.6.47")
implementation("com.affise:attribution:1.6.48")
// Add Affise modules
implementation("com.affise:module-advertising:1.6.47")
implementation("com.affise:module-androidid:1.6.47")
implementation("com.affise:module-link:1.6.47")
implementation("com.affise:module-network:1.6.47")
implementation("com.affise:module-phone:1.6.47")
implementation("com.affise:module-status:1.6.47")
implementation("com.affise:module-subscription:1.6.47")
implementation("com.affise:module-advertising:1.6.48")
implementation("com.affise:module-androidid:1.6.48")
implementation("com.affise:module-link:1.6.48")
implementation("com.affise:module-network:1.6.48")
implementation("com.affise:module-phone:1.6.48")
implementation("com.affise:module-status:1.6.48")
implementation("com.affise:module-subscription:1.6.48")
// implementation("com.affise:module-rustore:1.6.48")
// Add install referrer
implementation("com.android.installreferrer:installreferrer:2.2")
}
Expand All @@ -118,25 +120,26 @@ For groovy build script build.gradle use:
```groovy
dependencies {
// Add Affise library
implementation 'com.affise:attribution:1.6.47'
implementation 'com.affise:attribution:1.6.48'
// Add Affise modules
implementation 'com.affise:module-advertising:1.6.47'
implementation 'com.affise:module-androidid:1.6.47'
implementation 'com.affise:module-link:1.6.47'
implementation 'com.affise:module-network:1.6.47'
implementation 'com.affise:module-phone:1.6.47'
implementation 'com.affise:module-status:1.6.47'
implementation 'com.affise:module-subscription:1.6.47'
implementation 'com.affise:module-advertising:1.6.48'
implementation 'com.affise:module-androidid:1.6.48'
implementation 'com.affise:module-link:1.6.48'
implementation 'com.affise:module-network:1.6.48'
implementation 'com.affise:module-phone:1.6.48'
implementation 'com.affise:module-status:1.6.48'
implementation 'com.affise:module-subscription:1.6.48'
// implementation 'com.affise:module-rustore:1.6.48'
// Add install referrer
implementation 'com.android.installreferrer:installreferrer:2.2'
}
```

### Integrate as file dependency

Download latest Affise SDK (`attribution-1.6.47.aar`)
Download latest Affise SDK (`attribution-1.6.48.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.47.aar`
module lib directory `app/libs/attribution-1.6.48.aar`

Add library as gradle file dependency to application module build script
Add install referrer library
Expand All @@ -147,15 +150,16 @@ For kotlin build script build.gradle.kts use:
dependencies {
// ...
// Add Affise library
implementation(files("libs/attribution-1.6.47.aar"))
implementation(files("libs/attribution-1.6.48.aar"))
// Add Affise modules
implementation(files("libs/module-advertising-1.6.47.aar"))
implementation(files("libs/module-androidid-1.6.47.aar"))
implementation(files("libs/module-link-1.6.47.aar"))
implementation(files("libs/module-network-1.6.47.aar"))
implementation(files("libs/module-phone-1.6.47.aar"))
implementation(files("libs/module-status-1.6.47.aar"))
implementation(files("libs/module-subscription-1.6.47.aar"))
implementation(files("libs/module-advertising-1.6.48.aar"))
implementation(files("libs/module-androidid-1.6.48.aar"))
implementation(files("libs/module-link-1.6.48.aar"))
implementation(files("libs/module-network-1.6.48.aar"))
implementation(files("libs/module-phone-1.6.48.aar"))
implementation(files("libs/module-status-1.6.48.aar"))
implementation(files("libs/module-subscription-1.6.48.aar"))
// implementation(files("libs/module-rustore-1.6.48.aar"))
// Add install referrer
implementation("com.android.installreferrer:installreferrer:2.2")
}
Expand All @@ -167,15 +171,16 @@ For groovy build script build.gradle use:
dependencies {
// ...
// Add Affise library
implementation files('libs/attribution-1.6.47.aar')
implementation files('libs/attribution-1.6.48.aar')
// Add Affise modules
implementation files('libs/module-advertising-1.6.47.aar')
implementation files('libs/module-androidid-1.6.47.aar')
implementation files('libs/module-link-1.6.47.aar')
implementation files('libs/module-network-1.6.47.aar')
implementation files('libs/module-phone-1.6.47.aar')
implementation files('libs/module-status-1.6.47.aar')
implementation files('libs/module-subscription-1.6.47.aar')
implementation files('libs/module-advertising-1.6.48.aar')
implementation files('libs/module-androidid-1.6.48.aar')
implementation files('libs/module-link-1.6.48.aar')
implementation files('libs/module-network-1.6.48.aar')
implementation files('libs/module-phone-1.6.48.aar')
implementation files('libs/module-status-1.6.48.aar')
implementation files('libs/module-subscription-1.6.48.aar')
// implementation files('libs/module-rustore-1.6.48.aar')
// Add install referrer
implementation 'com.android.installreferrer:installreferrer:2.2'
}
Expand Down Expand Up @@ -279,6 +284,7 @@ class App : Application() {
| `Phone` | [![module-phone](https://img.shields.io/maven-central/v/com.affise/module-phone?label=latest)](https://mvnrepository.com/artifact/com.affise/module-phone) | `Auto` |
| `Status` | [![module-status](https://img.shields.io/maven-central/v/com.affise/module-status?label=latest)](https://mvnrepository.com/artifact/com.affise/module-status) | `Auto` |
| `Subscription` | [![module-subscription](https://img.shields.io/maven-central/v/com.affise/module-subscription?label=latest)](https://mvnrepository.com/artifact/com.affise/module-subscription) | `Auto` |
| `RuStore` | [![module-rustore](https://img.shields.io/maven-central/v/com.affise/module-rustore?label=latest)](https://mvnrepository.com/artifact/com.affise/module-rustore) | `Auto` |

If module start type is `Manual`, then call:

Expand Down Expand Up @@ -1161,6 +1167,8 @@ Affise.forget() // to forget users data

Use the next public method of SDK

> To get Install referrer by installing from RuStore include module [`RuStore`](#modules)
For kotlin:

```kotlin
Expand All @@ -1181,6 +1189,8 @@ Affise.getReferrerUrl(referrer -> {

Use the next public method of SDK to get referrer parameter by

> To get Install referrer by installing from RuStore include module [`RuStore`](#modules)
For kotlin:

```kotlin
Expand Down
3 changes: 2 additions & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ android {

defaultConfig {
applicationId "com.affise.app"
minSdk 21
minSdk 23
targetSdk 34
versionCode 1
versionName "1.0 build (${buildTime()})"
Expand Down Expand Up @@ -57,6 +57,7 @@ dependencies {
implementation(project("::module-phone"))
implementation(project("::module-status"))
implementation(project("::module-subscription"))
implementation(project("::module-rustore"))

implementation "com.google.firebase:firebase-messaging-ktx:$firebase"
implementation platform("androidx.compose:compose-bom:$compose_bom")
Expand Down
4 changes: 2 additions & 2 deletions attribution/src/main/java/com/affise/attribution/Affise.kt
Original file line number Diff line number Diff line change
Expand Up @@ -250,15 +250,15 @@ object Affise {
*/
@JvmStatic
fun getReferrerUrl(callback: OnReferrerCallback?) {
api?.retrieveInstallReferrerUseCase?.getReferrer(callback)
api?.storeInstallReferrerUseCase?.getReferrer(callback)
}

/**
* Get referrer Value
*/
@JvmStatic
fun getReferrerUrlValue(key: ReferrerKey, callback: OnReferrerCallback?) {
api?.retrieveInstallReferrerUseCase?.getReferrerValue(key, callback)
api?.storeInstallReferrerUseCase?.getReferrerValue(key, callback)
}

/**
Expand Down
9 changes: 3 additions & 6 deletions attribution/src/main/java/com/affise/attribution/AffiseApi.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,20 @@ import com.affise.attribution.debug.validate.DebugValidateUseCase
import com.affise.attribution.deeplink.DeeplinkManagerImpl
import com.affise.attribution.events.EventsManager
import com.affise.attribution.events.StoreEventUseCase
import com.affise.attribution.events.autoCatchingClick.AutoCatchingClickProvider
import com.affise.attribution.init.InitPropertiesStorage
import com.affise.attribution.init.SetPropertiesWhenAppInitializedUseCase
import com.affise.attribution.internal.StoreInternalEventUseCase
import com.affise.attribution.logs.LogsManager
import com.affise.attribution.metrics.MetricsManager
import com.affise.attribution.modules.AffiseModuleManager
import com.affise.attribution.parameters.factory.PostBackModelFactory
import com.affise.attribution.session.SessionManager
import com.affise.attribution.test.CrashApplicationUseCase
import com.affise.attribution.usecase.RetrieveInstallReferrerUseCase
import com.affise.attribution.usecase.EraseUserDataUseCaseImpl
import com.affise.attribution.usecase.FirstAppOpenUseCase
import com.affise.attribution.usecase.PreferencesUseCaseImpl
import com.affise.attribution.usecase.ImmediateSendToServerUseCase
import com.affise.attribution.usecase.SendDataToServerUseCase
import com.affise.attribution.usecase.PreferencesUseCaseImpl
import com.affise.attribution.usecase.SendGDPREventUseCaseImpl
import com.affise.attribution.usecase.StoreInstallReferrerUseCase
import com.affise.attribution.webBridge.WebBridgeManager

/**
Expand All @@ -46,7 +43,7 @@ internal interface AffiseApi {
val sendGDPREventUseCase: SendGDPREventUseCaseImpl
// val metricsManager: MetricsManager
val crashApplicationUseCase: CrashApplicationUseCase
val retrieveInstallReferrerUseCase: RetrieveInstallReferrerUseCase
val storeInstallReferrerUseCase: StoreInstallReferrerUseCase
val moduleManager: AffiseModuleManager
val postBackModelFactory: PostBackModelFactory
val debugValidateUseCase: DebugValidateUseCase
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import com.affise.attribution.deeplink.DeeplinkClickRepositoryImpl
import com.affise.attribution.deeplink.DeeplinkManagerImpl
import com.affise.attribution.deeplink.InstallReferrerToDeeplinkUriConverter
import com.affise.attribution.events.*
import com.affise.attribution.events.autoCatchingClick.AutoCatchingClickProvider
import com.affise.attribution.init.*
import com.affise.attribution.internal.*
import com.affise.attribution.logs.*
Expand All @@ -44,6 +43,7 @@ import com.affise.attribution.test.CrashApplicationUseCaseImpl
import com.affise.attribution.usecase.*
import com.affise.attribution.utils.ActivityActionsManager
import com.affise.attribution.utils.ActivityActionsManagerImpl
import com.affise.attribution.utils.SystemAppChecker
import com.affise.attribution.webBridge.WebBridgeManager

internal class AffiseComponent(
Expand All @@ -59,7 +59,7 @@ internal class AffiseComponent(
buildConfigPropertiesProvider,
app,
firstAppOpenUseCase,
retrieveInstallReferrerUseCase,
storeInstallReferrerUseCase,
sessionManager,
sharedPreferences,
initPropertiesStorage,
Expand All @@ -68,7 +68,8 @@ internal class AffiseComponent(
logsManager,
isDeeplinkClickRepository,
deviceUseCase,
remarketingUseCase
remarketingUseCase,
storeUseCase
).create()
}

Expand Down Expand Up @@ -339,15 +340,26 @@ internal class AffiseComponent(
/**
* RetrieveInstallReferrerUseCase
*/
override val retrieveInstallReferrerUseCase by lazy {
RetrieveInstallReferrerUseCase(
private val googleInstallReferrerUseCase by lazy {
GoogleInstallReferrerUseCase(
sharedPreferences,
AffiseReferrerDataToStringConverter(),
StringToAffiseReferrerDataConverter(logsManager),
app,
deeplinkManager,
logsManager,
InstallReferrerToDeeplinkUriConverter()
InstallReferrerToDeeplinkUriConverter(),
)
}

/**
* StoreInstallReferrerUseCase
*/
override val storeInstallReferrerUseCase by lazy {
StoreInstallReferrerUseCase(
app,
storeUseCase,
googleInstallReferrerUseCase
)
}

Expand Down Expand Up @@ -389,6 +401,14 @@ internal class AffiseComponent(
)
}

private val storeUseCase: StoreUseCase by lazy {
StoreUseCaseImpl(
app,
logsManager,
SystemAppChecker(app)
)
}

/**
* SharedPreferences
*/
Expand Down Expand Up @@ -493,9 +513,6 @@ internal class AffiseComponent(
sendGDPREventUseCase.sendForgetMeEvent()
firstAppOpenUseCase.onAppCreated()
sessionManager.init()
retrieveInstallReferrerUseCase.startInstallReferrerRetrieve(onFinished = {
eventsManager.init()
})
setPropertiesWhenInitUseCase.init(initProperties)
deeplinkManager.init()
// autoCatchingClickProvider.init(initProperties.autoCatchingClickEvents)
Expand All @@ -516,9 +533,15 @@ internal class AffiseComponent(
httpClient,
postBackModelFactory,
postBackModelToJsonStringConverter,
sharedPreferences,
)
)

storeInstallReferrerUseCase.onReferrerSetupFinished {
eventsManager.init()
}
.init(moduleManager)

isReady = true
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ import com.affise.attribution.parameters.base.getRequestProviders
abstract class AffiseModule {

protected var application: Application? = null
private set
protected var logsManager: LogsManager? = null
private set
var dependencies: List<Any>? = null
private set
var baseProviders: List<Provider>? = null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import com.affise.attribution.modules.exceptions.AffiseModuleError
import com.affise.attribution.parameters.factory.PostBackModelFactory


internal class AffiseModuleManager(
class AffiseModuleManager(
private val application: Application,
private val logsManager: LogsManager,
private val postBackModelFactory: PostBackModelFactory,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ enum class AffiseModules(val module: String) {
Network("com.affise.attribution.module.network.NetworkModule"),
Phone("com.affise.attribution.module.phone.PhoneModule"),
Status("com.affise.attribution.module.status.StatusModule"),
Subscription("com.affise.attribution.module.subscription.SubscriptionModule");
Subscription("com.affise.attribution.module.subscription.SubscriptionModule"),
RuStore("com.affise.attribution.module.rustore.RuStoreModule");

companion object {
@JvmStatic
Expand Down
Loading

0 comments on commit b49caf1

Please sign in to comment.