Merged
Conversation
Add optional badge, features, and savings display to PurchaseOptionCard. Extend ProductConfig to include marketing metadata and propagate these through configuration, core, and PaywallView for enhanced paywall UI. Update README with marketing-enhanced usage examples.
Document new badge, marketing features, and savings displays with usage examples and API methods to enhance product presentation.
Use user-defined product descriptions when available and update preview demo to mirror the real component structure with clearer labels and selection logging.
Introduce shared PurchaseOptionCardView for cleaner separation and styling. Consolidate period text formatting with style variants and apply consistent design constants. Simplify preview by using the new shared component and remove duplicate demo code.
…nitialize Replace manual feature registration and product loading with a single call to InAppKit.initialize to streamline setup.
Add detailed documentation with examples for type-safe and flexible feature definitions, product marketing enhancements, feature gating in UI, custom paywall implementation, and subscription status display.
Enhance PaywallContext with badge, features, and savings accessors to support marketing data. Update README with usage examples showing how to build custom paywalls using these marketing helpers. Add tests verifying PaywallContext marketing helpers and productsWithMarketing property.
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.
This pull request introduces marketing enhancements to the product configuration and purchase UI in the InAppKit library. The changes add support for promotional badges, marketing features, and savings information for products, and make these available throughout the configuration, context, and UI layers. The codebase now allows for richer product presentation and easier access to marketing data.
Product Configuration and API Extensions
badge,marketingFeatures,savings) toProductConfigandInternalProductConfig, updated initializers, and provided a new overload of theProductfunction to support marketing information. Also added fluent API extensions (withBadge,withMarketingFeatures,withSavings) for easy configuration. [1] [2] [3]StoreKit Configuration Integration
StoreKitConfigurationto propagate marketing information fromProductConfigtoInternalProductConfig, and refactored the setup logic to use a new initialization method that handles both features and marketing info. [1] [2]Paywall Context Marketing Accessors
PaywallContextto retrieve badge, marketing features, savings, and combined marketing info for StoreKit products, enabling convenient access to marketing data in paywall flows.InAppKit Core Marketing Storage and Retrieval
productMarketingInfodictionary inInAppKitto store marketing data, updated initialization to populate it, and added public accessor methods for badge, marketing features, and savings information. [1] [2] [3]Purchase Option Card UI Enhancements
PurchaseOptionCardto accept and display marketing information (badge, features, savings), added styling constants, improved description logic, and split the UI into a shared view component for better maintainability and extensibility. [1] [2] [3] [4] [5]