Release 11.9.0 - #465
Merged
Merged
Conversation
Release 11.8.0
Offerings are a legacy Qonversion feature superseded by Remote Configs. Annotate the public `offerings()` method on both the `Qonversion` interface and its `QonversionInternal` implementation with `@Deprecated` (Dart does not inherit the annotation) and repoint the dartdoc link to the migration guide. Behavior is unchanged; this only surfaces analyzer deprecation warnings and points integrators to the Remote Configs migration guide. DTOs (QOfferings, QOffering), version, CHANGELOG and pubspec are untouched. Migration guide: https://documentation.qonversion.io/docs/migrate-offerings-to-remote-configs Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Review follow-up: the interface dartdoc link label still read "Offerings" while the URL already points to the migration guide. Renamed the label to "Migrate Offerings to Remote Configs" for label/target consistency. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
chore: deprecate public Offerings API
Offerings are being sunset in favor of Remote Configs. The sample app now sources the product list solely from Qonversion.getSharedInstance().products(). - Delete offerings_screen.dart and its route/import in main.dart - Remove offerings state (field, getter, setter) from app_state.dart - Remove the Offerings menu entry from main_screen.dart See: https://documentation.qonversion.io/docs/migrate-offerings-to-remote-configs Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ample chore(example): remove legacy Offerings flow from sample app
Add a dedicated purchaseOptionId field for one-time products, parsed from the bridge map, mirroring basePlanId. basePlanId now carries the subscription base plan only (null for one-time); purchaseOptionId carries the one-time purchase option (null for subscriptions). Requires the sandwich/native version that emits purchaseOptionId. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Carry the split down to product.storeDetails for consistency with product: add a purchaseOptionId field parsed from the bridge map, mirroring basePlanId (null for one-time on the native side). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…onId) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…optionid-as-a-separate-sdk-field-split-from DEV-1215: expose purchaseOptionId on Product
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Release PR
What's New
— Added a separate purchaseOptionId field on Product and ProductStoreDetails for Google Play one-time products (basePlanId now stays dedicated to subscription base plans).
— Deprecated the Offerings API. Manage paywall products with Remote Configs instead.