Update to use PHC PaywallHelpers instead of custom activity#903
Merged
Conversation
NachoSoto
reviewed
Dec 21, 2023
| } | ||
|
|
||
| private @Nullable PurchasesFlutterActivity getActivityFragment() { | ||
| private @Nullable FlutterFragmentActivity getActivityFragment() { |
Contributor
There was a problem hiding this comment.
Let's update the docs and put this in the release notes for the next beta :)
Contributor
Author
There was a problem hiding this comment.
I believe our only docs for this beta currently live in the release notes right? Will update those when I make the release
| if (activity instanceof FlutterFragmentActivity) { | ||
| return (FlutterFragmentActivity) activity; | ||
| } else { | ||
| Log.e(TAG, "Paywalls require your activity to subclass FlutterFragmentActivity"); |
Contributor
There was a problem hiding this comment.
We need to update this error now.
d2ecb21 to
ff01fbb
Compare
ff01fbb to
69e804b
Compare
There was a new update from `freezed` that changed the generated files, making our tests fail. This updates those files.
Merged
tonidero
added a commit
that referenced
this pull request
Dec 22, 2023
### New Features * 📱 Initial support for cross-platform RevenueCat Paywalls 🐾 🧱 (#852) #### Instructions: - For Android, you need to change your `MainActivity` to subclass `FlutterFragmentActivity` instead of `FlutterActivity`. - Update `purchases-flutter` in your `pubspec.yaml`: ```yaml dependencies: purchases_flutter: 6.6.0-beta.3 ``` #### Usage: ```dart await Purchases.presentPaywallIfNeeded("pro"); ``` #### Limitations: - Currently only full screen paywalls are supported - There is no way to detect paywall events other than using `addCustomerInfoUpdateListener` - Android's `minSdkVersion` is temporarily increased from `19` to `24` to support paywalls. This will be reverted in a future release as we split `purchases_flutter` and `purchases_flutter_ui` ### Breaking changes from previous beta - `PurchasesFlutterActivity` has been removed. Use `FlutterFragmentActivity` provided by Flutter instead ### Fixes from previous beta * Fix `presentPaywallIfNeeded` (#904) via Toni Rico (@tonidero) ### Other Changes * Update paywalls latest main (#906) via Toni Rico (@tonidero) * Update to use PHC PaywallHelpers instead of custom activity (#903) via Toni Rico (@tonidero) * Fix flutter analyze deprecation warnings (#872)
Merged
tonidero
added a commit
that referenced
this pull request
Jan 5, 2024
### New features * 📱 Initial support for cross-platform RevenueCat Paywalls 🐾 🧱 (#852) #### Instructions: - For Android, you need to change your `MainActivity` to subclass `FlutterFragmentActivity` instead of `FlutterActivity`. Also, the min sdk version of the new package is `24`. Please make sure your app's `android/build.gradle` minSdkVersion has that or a higher version. - Add `purchases-ui-flutter` in your `pubspec.yaml`: ```yaml dependencies: purchases_ui_flutter: 6.15.0-beta.4 ``` #### Usage: ```dart import 'package:purchases_ui_flutter/purchases_ui_flutter.dart'; await RevenueCatUI.presentPaywallIfNeeded("pro"); ``` #### Limitations: - Currently only full screen paywalls are supported - There is no way to detect paywall events other than using `addCustomerInfoUpdateListener` #### Breaking changes from previous beta: - Paywalls functionality has been extracted into a new dependency called purchases_ui_flutter. Add purchases_ui_flutter to your pubspec.yaml. Before this release, it was part of the main RevenueCat SDK `purchases_flutter`. - A new import is required to use this functionality: `import 'package:purchases_ui_flutter/purchases_ui_flutter.dart';` - Usage has changed the class from `Purchases.presentPaywall` to `RevenueCatUI.presentPaywall`. - `presentPaywall` and `presentPaywallIfNeeded` now don't return a result. To detect purchases, please use `Purchases.getCustomerInfo` from the `purchases_flutter` SDK. A return value will be added in future releases. ### Other Changes * Fix pub score for `purchases-ui-flutter` (#924) via Toni Rico (@tonidero) * Update `paywalls` to latest `main` (#923) via Toni Rico (@tonidero) * Rename `purchases_flutter_ui` to `purchases_ui_flutter` (#921) via Toni Rico (@tonidero) * Separate paywalls into a different package (#919) via Toni Rico (@tonidero) * Remove result from presentPaywall methods (#916) via Toni Rico (@tonidero) * Update to use PHC PaywallHelpers instead of custom activity (#903) via Toni Rico (@tonidero)
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.
After RevenueCat/purchases-hybrid-common#602, we can now use the
PaywallHelpers.presentPaywallFromFragmentmethod to present the paywall and receive a result back using an internal view model.This makes it so the
PurchasesFlutterActivityisn't needed anymore and we can make use of that functionality, shared with other hybrids.Note that this does mean developers need to make sure their android activity inherits from
FlutterFragmentActivity(or otherFragmentActivity) and notFlutterActivity, as we need to present the fragment.TODO