Skip to content

[v5] Add new SDK data fields#2484

Draft
nauaros wants to merge 11 commits intov5from
chore/sdk_data_new_props
Draft

[v5] Add new SDK data fields#2484
nauaros wants to merge 11 commits intov5from
chore/sdk_data_new_props

Conversation

@nauaros
Copy link
Copy Markdown
Contributor

@nauaros nauaros commented Apr 8, 2026

Summary

This PR introduces some key changes related with SDKData:

  • Adds 4 new fields to SDKData in order to support hosted checkout components. These are:
    • channel
    • platform
    • sdkVersion
    • paymentMethodBehavior
  • Every usage of channel and platform needs to be lowercase. Thus, every instance of iOS has been replaced with ios.
  • Introduces CheckoutPlatformParams. Similar to Android, there's a centralized place where cross-platform can override platform parameteters such as version and channel.

Ticket

COSDK-1149

Checklist

  • Tested changes locally
  • Added/updated unit tests
  • Verified against acceptance criteria

@nauaros nauaros self-assigned this Apr 8, 2026
@nauaros nauaros added the chore a pull request that has chore changes that shouldn't be in the release notes label Apr 8, 2026
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 8, 2026

ℹ️ No baseline data found for 'v5'.

Framework Size
AdyenComponents.framework 2753 KB
AdyenActions.framework 2939 KB
AdyenDropIn.framework 1281 KB
AdyenDelegatedAuthentication.framework 82 KB
AdyenAuthentication.framework 347 KB
AdyenWeChatPay.framework 257 KB
AdyenCardScanner.framework 710 KB
AdyenEncryption.framework 517 KB
AdyenSession.framework 855 KB
AdyenTwint.framework 271 KB
AdyenWeChatPayInternal.framework 4135 KB
AdyenCashAppPay.framework 1773 KB
AdyenCard.framework 1693 KB
TwintSDK.framework 97 KB
Adyen3DS2.framework 919 KB
Adyen.framework 7593 KB
total 26222 KB

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

✅ No changes detected

Comparing chore/sdk_data_new_props to v5


Analyzed targets: Adyen, AdyenActions, AdyenCard, AdyenCardScanner, AdyenCashAppPay, AdyenComponents, AdyenDelegatedAuthentication, AdyenDropIn, AdyenEncryption, AdyenSession, AdyenSwiftUI, AdyenTwint, AdyenWeChatPay

@nauaros nauaros requested a review from Robert-SD April 9, 2026 13:11
internal let version: String

internal let channel: String = "iOS"
internal let channel: String = "ios"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Will this conflict with our existing data collection? Is case sensitivity important?

private let lock = NSLock()

@_spi(AdyenInternal)
public func override(version: String, platform: Platform) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can we rename override into overrideForCrossPlatform to use the same name as Android has?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Shall we also order the parameter accordingly?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

yeah, I can order it exactly like Android has it


public private(set) var version: String = adyenSdkVersion
public private(set) var platform: Platform = .ios
public let channel: String = "ios"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The channel is initialized in AnalyticsData and AnalyticsRequest. Shall we use one central public constant?

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

Labels

chore a pull request that has chore changes that shouldn't be in the release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants