Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds support for the app secret feature introduced by Adjust SDK 4.12.
Why is it needed?
The app secret consists of a secret identifier and four info fields representing the secret itself.
This app secret is verified by Adjust SDK against Adjust servers after setting it on
ADJConfig
. SinceSEGAdjustIntegration
is in charge of creatingADJConfig
, there is no way to customize this config object externally without changingSEGAdjustIntegration
.What has been changed?
The main change consists of passing secret identifier and info fields as
SEGAdjustAppSecret
toSEGAdjustIntegrationFactory
initializer, thenSEGAdjustIntegration
initializer.SEGAdjustIntegrationFactory
caches the app secret object locally untilSEGAdjustIntegration
is created.You can use the resulting API like this:
Notes
Initially I chose to represent the app secret as an array. However a dedicated class like
SEGAdjustSecret
seems like a better choice, it makes the API more explicit and eliminates conversion toNSNumber
(especially when integrating with Swift where casting to[NSNumber]
was required when using an array).