Skip to content

Commit c1c4f97

Browse files
authored
Merge pull request #64 from TelemetryDeck/feat/remove-dependency-on-application
[BREAKING] The pre-Grand Rename APIs have been removed from the library. [BREAKING] The Kotlin SDK now expects to be started with just a Context (the applicationContext). [BREAKING] TelemetryDeckProvider interface has changed to accept a Context instead of Application - providers may still retain a weak reference, so this should be the applicationContext.
2 parents f386edd + 3095e72 commit c1c4f97

29 files changed

+66
-1716
lines changed

.idea/misc.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ val builder = TelemetryDeck.Builder()
8282
.showDebugLogs(true)
8383
.defaultUser("Person")
8484

85-
TelemetryDeck.start(application, builder)
85+
TelemetryDeck.start(applicationContext, builder)
8686
```
8787

8888
## Sending Signals
@@ -122,7 +122,7 @@ val builder = TelemetryDeck.Builder()
122122
.defaultUser("Person")
123123
.identityProvider(YourIdentityProvider())
124124

125-
TelemetryDeck.start(application, builder)
125+
TelemetryDeck.start(applicationContext, builder)
126126
```
127127

128128
### Environment Parameters
@@ -245,7 +245,7 @@ To create a provider, implement the `TelemetryDeckProvider` interface:
245245

246246
```kotlin
247247
class CustomProvider: TelemetryDeckProvider {
248-
override fun register(ctx: Application?, client: TelemetryDeckClient) {
248+
override fun register(ctx: Context?, client: TelemetryDeckClient) {
249249
// configure and start the provider
250250
// you may retain a WeakReference to client
251251
}
@@ -302,7 +302,8 @@ You can also completely disable or override the default providers with your own.
302302
- `SessionActivityProvider` - Emits signals for application and activity lifecycle events. This provider is not enabled by default.
303303
- `EnvironmentParameterProvider` - Adds environment and device information to outgoing Signals. This provider overrides the `enrich` method in order to append additional metadata for all signals before sending them.
304304
- `PlatformContextProvider` - Adds environment and device information which may change over time like the current timezone and screen metrics.
305-
305+
- `AccessibilityProvider` - Adds parameters describing the currently active accessibility options.
306+
-
306307
For a complete list, check the `com.telemetrydeck.sdk.providers` package.
307308

308309
```kotlin
@@ -339,6 +340,12 @@ Please note that the logger implementation should be thread safe as it may be in
339340
- Gradle 6.8.3–8.8\*
340341
- AGP 7.1.3–8.5
341342

343+
## Migrating providers to 5.0+
344+
345+
* The provider interface `TelemetryDeckProvider` has changed to accept a `Context` instance instead of an `Application`.
346+
* The deprecated fallback provider callbacks are no longer used and the functionality has been removed.
347+
* Providers can now optionally override the `transform` method in order to modify any component of the signal.
348+
342349
## Migrating providers to 3.0+
343350

344351
If you had Kotlin SDK for TelemetryDeck added to your app, you will notice that `TelemetryManager` and related classes have been deprecated.
@@ -391,7 +398,7 @@ Your custom providers must replace `TelemetryProvider` with `TelemetryDeckProvid
391398

392399
To adopt the new interface:
393400

394-
- Adapt the signature of the `register` method to `register(ctx: Application?, client: TelemetryDeckSignalProcessor)`
401+
- Adapt the signature of the `register` method to `register(ctx: Context?, client: TelemetryDeckSignalProcessor)`
395402

396403
The `TelemetryDeckSignalProcessor` interface offers a subset of the `TelemetryDeck` client API which gives you access to:
397404

lib/src/main/java/com/telemetrydeck/sdk/AppLifecycleTelemetryProvider.kt

Lines changed: 0 additions & 97 deletions
This file was deleted.

lib/src/main/java/com/telemetrydeck/sdk/EnvironmentMetadataProvider.kt

Lines changed: 0 additions & 87 deletions
This file was deleted.

lib/src/main/java/com/telemetrydeck/sdk/PayloadParameters.kt

Lines changed: 0 additions & 9 deletions
This file was deleted.

lib/src/main/java/com/telemetrydeck/sdk/SessionProvider.kt

Lines changed: 0 additions & 45 deletions
This file was deleted.

lib/src/main/java/com/telemetrydeck/sdk/SignalType.kt

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)