Skip to content

[Android]Rework Optable API configuration and request forming#35

Open
ValentinPostindustria wants to merge 43 commits intomasterfrom
feature/server_api_v2
Open

[Android]Rework Optable API configuration and request forming#35
ValentinPostindustria wants to merge 43 commits intomasterfrom
feature/server_api_v2

Conversation

@ValentinPostindustria
Copy link
Collaborator

@ValentinPostindustria ValentinPostindustria commented Nov 17, 2025

Closes #33.

Breaking changes:

  • Remove app path parameter.
  • Add tenant and originSlug query parameters.
  • Make host dynamic and apply path v2.

Other features:

  • Support apiKey.
  • Move all configuration parameters in Config class and reuse it everywhere.
  • Separate GoogleAdIdManager and LocalStorage logic from the network client.
  • Rename Client to NetworkClient.
  • Move hash logic to separate TypeHasher class.
  • Separate network interceptors.
  • Demo apps are built using local SDK.
  • Unit tests with mock web server.
  • Build WebView for user agent only once and cache the result.
  • Apply automatic IDEA aligning.

Remove `app` path parameter. Add `tenant` and `originSlug` parameters. Make host dynamic and apply path `v2`. Move all configuration parameters in Config class and reuse it everywhere. Separate `GoogleAdIdManager` and `LocalStorage` logic from the network client. Rename `Client` to `NetworkClient`. Move hash logic to separate `TypeHasher` class. Separate network interceptors. Refactor SDK code.
Support secret api keys. Fetch user agent only once. Write unit tests with the mock web server.
@ValentinPostindustria ValentinPostindustria marked this pull request as ready for review November 21, 2025 09:07
ValentinPostindustria and others added 15 commits December 18, 2025 12:35
Remove custom network Adapter. Use native Retrofit adapter. Add Kotlin suspension.
Migrate from TypeHasher to IdentifiersEncoder. Add all identifier types. Cover with unit tests.
Use callbacks API. Rewrite demo apps to make the examples more readable. Use shorter logs.  Create Optable SDK instance once during application creation and reuse everywhere. Move fragments to one folder.
Add missed "reg" query param. Make Consents mutable. Provide `receiveGaidAutomatically` property. Refactor main methods javadoc.
Copy link
Collaborator

@justadreamer justadreamer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@eugenedorfman-optable eugenedorfman-optable changed the title Rework Optable API configuration and request forming [Android]Rework Optable API configuration and request forming Jan 19, 2026
Correct documentation in the README. Remove `OptableTraits` and use simple data structures. Fix sending GAID when limited tracking. Fix regexp. Remove unused `OptableResponse`.
@ValentinPostindustria
Copy link
Collaborator Author

We have already changed the API significantly, so maybe we can also change the SDK package name. Current one: co.optable.android_sdk with the underscore. It's allowed, but it's not common for Java, and it looks strange. Maybe we should rename to co.optable.sdk?
изображение

@eugenedorfman-optable
Copy link

Hi @zapo I think all the requested changes were handled, please check the question re: package name renaming: co.optable.android_sdk -> co.optable.sdk. Thanks

@zapo
Copy link
Member

zapo commented Feb 19, 2026

@ValentinPostindustria @eugenedorfman-optable thanks for the suggestion, let's do the rename

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rework Optable Real-time APIs configuration and request forming

5 participants

Comments