Skip to content

0.3.0: parity with kontextkit-ios (consent, form factors, screen in dp) - #16

Merged
JakubMrozek merged 2 commits into
mainfrom
consent-data-provider
Nov 3, 2026
Merged

JakubMrozek merged 2 commits into
mainfrom
consent-data-provider

Conversation

@JakubMrozek

@JakubMrozek JakubMrozek commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Release 0.3.0: KontextKit Android matches kontextkit-ios in three places.

Breaking

  • HardwareInfoProvider.type is the OpenRTB-derived set iOS's HardwareType uses: phone (was handset), tablet, tv, plus two new values:
    • desktop: a ChromeOS device (the android.hardware.type.pc feature);
    • other: a watch, a car, an appliance or a VR headset (from the UI mode).
  • ScreenInfoProvider.width/height are in dp (the logical size), as iOS reports points. They were physical pixels. dpr is unchanged.

Added

  • ConsentDataProvider: TCF v2, GPP and US Privacy from the app's default SharedPreferences, as ConsentData(gdpr, gdprConsent, gpp, gppSid, usPrivacy) plus collectAsDict.
    • The same keys, field names and validation as iOS.
    • It reads through SharedPreferences.all, so a CMP that stored an unexpected type can't make the read throw.
  • TCFDataProvider is unchanged.

Who's affected: the React Native and Flutter SDKs' Android halves see phone and dp when they upgrade; their bridges can map phone to handset if their server wants it. sdk-kotlin stays on 0.1.0. sdk-kotlin-video switches to these providers after the release.

Release prep: the version is 0.3.0 in gradle/libs.versions.toml, and the CHANGELOG has Breaking and Added sections.

Tests:

  • ConsentDataProviderTest: 9 tests, new;
  • HardwareInfoProviderTest: 11 tests, including phone, desktop before tablet, the other modes, and the OpenRTB set;
  • ScreenInfoProviderTest: 6 tests, including 411×891 dp at density 3.

./gradlew build test spotlessCheck detekt passes locally.

🤖 Generated with Claude Code

JakubMrozek and others added 2 commits November 3, 2026 14:53
… them; 0.3.0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sktop, other); ScreenInfoProvider: width and height in dp; as kontextkit-ios

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@JakubMrozek JakubMrozek changed the title ConsentDataProvider: TCF, GPP and US Privacy (0.3.0) 0.3.0: parity with kontextkit-ios (consent, form factors, screen in dp) Nov 3, 2026
@JakubMrozek
JakubMrozek merged commit 22092b7 into main Nov 3, 2026
1 check passed
@JakubMrozek
JakubMrozek deleted the consent-data-provider branch November 3, 2026 14:07
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.

1 participant