-
Notifications
You must be signed in to change notification settings - Fork 382
[DX-457] Log the SDK configuration report on every #DEBUG
run
#5317
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DX-457] Log the SDK configuration report on every #DEBUG
run
#5317
Conversation
#DEBUG
run
@aboedo @ajpallares One question that I still haven't fully decided on is how we should configure it. What I think we should definitely do (and I have already added in this PR) is to allow the user to control whether we do the health check or not. What I am still unsure about is whether to enable it by default or not? Maybe we soft launch by making it false by default or we enable the SDK configuration value by default and we control with a BE FF that gets sent along with the report (more complex). What do you think? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Such a nice addition! It's going to be extremely useful, not only for developers, but also for us internally. It's looking great so far. Great job!
I have some comments, mostly about ENABLE_CUSTOM_ENTITLEMENT_COMPUTATION
mode and another about dependency injection.
What I am still unsure about is whether to enable it by default or not? Maybe we soft launch by making it false by default or we enable the SDK configuration value by default and we control with a BE FF that gets sent along with the report (more complex).
I'm not really sure about this either. I don't know if it makes sense to build something more complex around this. But it surely feels like doing it on every run is too much (especially if the health check is successful) and not doing it by default seems like a waste of this wonderful feature. I don't know if having a middle ground by default would make sense or would overcomplicate things and make it less expectable...
I agree, especially because we have to query App Store Connect for this, and it is highly likely that this will only come in handy for people that are either starting out or that have issues with configuration. That's the reason why I decided to turn it off by default, so that users can actually just run it when they need it with a configuration value, but it would potentially hurt discoverability. I keep going back and forth about this, as I want the experience to be as seamless as possible while still keeping in mind that this is going to come in handy in very specific situations only. The other thing that I thought was to potentially introduce some caching (serverside probably), but that is just a bit risky as we might miss changes in configuration? What do you think @aboedo @ajpallares @vegaro? |
1 build increased size
RevenueCat 1.0 (1)
|
Item | Install Size Change |
---|---|
DYLD.String Table | ⬆️ 53.7 kB |
RevenueCat.Purchases.Purchases | ⬇️ -9.1 kB |
RCPurchases.Objc Metadata | ⬆️ 6.8 kB |
Code Signature | ⬆️ 3.2 kB |
DYLD.Exports | ⬆️ 2.1 kB |
🛸 Powered by Emerge Tools
Comment trigger: Size diff threshold of 100.00kB exceeded
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is such a huge improvement, that my only real comment is: wen Android? 🚀 😄
Sources/Networking/Operations/HealthReportAvailabilityOperation.swift
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking great!! I think this will be really useful indeed!
f370f2e
to
50ecfcf
Compare
@tonidero @JayShortway Addressed all of the feedback now, let me know if you are happy with it 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have more comments! Looking better and better though!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking great! Thanks for addressing all the comments so throughly!! Amazing job!
There's one small issue, which I think would prevent the SDK from compiling in Custom entitlement computation mode. But other than that, I think it looks great!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for making the changes! 🙏 Really excited about this!
In another effort to reduce the amount of 'Empty Offerings' reports that we get, we want to let users know of configuration issues whenever they run a
DEBUG
build.For this reason, we would like to run the SDK Health Check on debug builds.
Examples
✅ Successful configuration (No Warnings)
✅ Successful configuration (Warnings)
❌ Failed configuration
Checklist
purchases-android
and hybrids