Uh oh!
There was an error while loading. Please reload this page.
[in_app_purchase_android] Add showInAppMessages support (#107412) - #11214
Conversation
There was a problem hiding this comment.
Code Review
This pull request adds support for the showInAppMessages API from the Google Play Billing Library. This includes defining the new API in Pigeon, implementing it on the Android native side, adding Dart wrappers, and updating the example app to demonstrate its usage. Tests for the new functionality have also been added.
Uh oh!
There was an error while loading. Please reload this page.
fingerart
commented
Mar 10, 2026
@stuartmorgan-g@GaryQian What else do I need to do? |
stuartmorgan-g
commented
Mar 10, 2026
@fingerart You need to wait for a review, which as our docs explain takes up to a couple of weeks. |
fingerart
commented
Mar 26, 2026
There are 6 failed checks, what do I need to do about it? |
stuartmorgan-g
commented
Mar 31, 2026
You can see the task output by going to In this case they are all analyzer failures, which should trivially show up locally in any IDE configured to read repo-local analysis options. |
8d3a9cc to
410fa60Comparefingerart
commented
Apr 2, 2026
I have fixed the error checking item. |
gmackall
left a comment
There was a problem hiding this comment.
Mostly lgtm, one question about future proofing re: the categories of message to show.
Also, it would be good to add a test to packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_addition_test.dart as the other methods of in_app_purchase_android_platform_addition.dart are also tested there
something like
group('showInAppMessages', () {
test('showInAppMessages success', () async {
const expected =InAppMessageResultWrapper(
responseCode:InAppMessageResponse.subscriptionStatusUpdated,
purchaseToken:'dummy purchase token',
);
when(mockApi.showInAppMessages()).thenAnswer(
(_) async=>PlatformInAppMessageResult(
responseCode:PlatformInAppMessageResponse.subscriptionStatusUpdated,
purchaseToken: expected.purchaseToken,
),
);
finalInAppMessageResultWrapper result =await iapAndroidPlatformAddition.showInAppMessages();
expect(result, equals(expected));
});
});Uh oh!
There was an error while loading. Please reload this page.
410fa60 to
3200139Comparefingerart
commented
Apr 15, 2026
I added the |
gmackall
commented
Apr 17, 2026
lgtm, @bparrishMines would you like to do the secondary review? |
bparrishMines
left a comment
There was a problem hiding this comment.
LGTM with a couple nits
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
c72c1f7 to
2e060b6ComparebparrishMines
commented
May 19, 2026
@fingerart This needs to merge in the main branch and handle merging the pigeon Kotlin update. This PR doesn't allow maintainers to make changes, so I can't do this for you. |
2e060b6 to
db93292Comparefingerart
commented
May 20, 2026
@bparrishMines I have updated to Kotlin. |
bparrishMines
left a comment
There was a problem hiding this comment.
This looks good. I think the version bump got messed up with the kotlin merge. The pubspec version needs to updated along with my comments in the changelog.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
db93292 to
503ead0CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
22ae8f4 to
cdc35c7CompareThis pull request is not mergeable in its current state, likely because of a merge conflict. Pre-submit CI jobs were not triggered. Pushing a new commit to this branch that resolves the issue will result in pre-submit jobs being scheduled. |
cdc35c7 to
ba97bc9Compareba97bc9 to
8b3523eCompare8b3523e to
5eac845Compare5eac845 to
58b8b2cCompare58b8b2c to
ee3e06aComparefingerart
commented
Jun 12, 2026
Do I need to manually update the branch (rebase) to complete the merge? |
I was just waiting on the tree to be green before I added the |
Uh oh!
There was an error while loading. Please reload this page.
…r#188021) flutter/packages@b78ad83...aa964a3 2026-06-15 44747303+theprantadutta@users.noreply.github.com [path_provider] Document null vs UnsupportedError return semantics (flutter/packages#11793) 2026-06-15 49699333+dependabot[bot]@users.noreply.github.com Bump lewagon/wait-on-check-action from 1.7.0 to 1.8.0 in the all-github-actions group (flutter/packages#11906) 2026-06-12 stuartmorgan@google.com [cupertino_ui,material_ui] Import from flutter/flutter (flutter/packages#11888) 2026-06-12 engine-flutter-autoroll@skia.org Roll Flutter (stable) from 924134a to c9a6c48 (8 revisions) (flutter/packages#11893) 2026-06-12 engine-flutter-autoroll@skia.org Roll Flutter from 8bdce07 to b7cb925 (21 revisions) (flutter/packages#11892) 2026-06-12 fingerart.me@gmail.com [in_app_purchase_android] Add showInAppMessages support (flutter#107412) (flutter/packages#11214) 2026-06-12 spkhalad@gmail.com [webview_flutter] Implement getCookies (flutter/packages#10833) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC flutter-ecosystem@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…r#188021) flutter/packages@b78ad83...aa964a3 2026-06-15 44747303+theprantadutta@users.noreply.github.com [path_provider] Document null vs UnsupportedError return semantics (flutter/packages#11793) 2026-06-15 49699333+dependabot[bot]@users.noreply.github.com Bump lewagon/wait-on-check-action from 1.7.0 to 1.8.0 in the all-github-actions group (flutter/packages#11906) 2026-06-12 stuartmorgan@google.com [cupertino_ui,material_ui] Import from flutter/flutter (flutter/packages#11888) 2026-06-12 engine-flutter-autoroll@skia.org Roll Flutter (stable) from 924134a to c9a6c48 (8 revisions) (flutter/packages#11893) 2026-06-12 engine-flutter-autoroll@skia.org Roll Flutter from 8bdce07 to b7cb925 (21 revisions) (flutter/packages#11892) 2026-06-12 fingerart.me@gmail.com [in_app_purchase_android] Add showInAppMessages support (flutter#107412) (flutter/packages#11214) 2026-06-12 spkhalad@gmail.com [webview_flutter] Implement getCookies (flutter/packages#10833) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC flutter-ecosystem@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
As mentioned in #107412, a new native feature (showInAppMessages) has been added.
Pre-Review Checklist
[shared_preferences]///).If you need help, consider asking for advice on the #hackers-new channel on Discord.
Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the
gemini-code-assistbot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.Footnotes
Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. ↩↩2