https://github.com/oscoreio/maui.inappreviews
NuGet package that implementing native In-App Reviews within a MAUI application with debugging capabilities
https://github.com/oscoreio/maui.inappreviews
android csharp dotnet in-app in-app-review ios maui review reviews trimming windows
Last synced: 3 months ago
JSON representation
NuGet package that implementing native In-App Reviews within a MAUI application with debugging capabilities
- Host: GitHub
- URL: https://github.com/oscoreio/maui.inappreviews
- Owner: oscoreio
- License: mit
- Created: 2024-03-10T21:09:41.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-05T15:37:49.000Z (5 months ago)
- Last Synced: 2025-01-26T10:54:57.070Z (3 months ago)
- Topics: android, csharp, dotnet, in-app, in-app-review, ios, maui, review, reviews, trimming, windows
- Language: C#
- Homepage:
- Size: 265 KB
- Stars: 7
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Maui.InAppReviews
[](https://www.nuget.org/packages/Oscore.Maui.InAppReviews/)
[](https://github.com/oscoreio/Maui.InAppReviews/actions/workflows/dotnet.yml)
[](https://github.com/oscoreio/Maui.InAppReviews/blob/main/LICENSE)NuGet package that implementing native In-App Reviews for MAUI with debugging capabilities.
You also can use [AppStoreInfo](https://github.com/oscoreio/Maui.AppStoreInfo) to open review page in the store.
### Supported Platforms
| Platform | Minimum Version Supported |
|----------|---------------------------------------|
| iOS | 12.2+ |
| macOS | 15+ |
| Android | 5.0 (API 21) |
| Windows | 11 and 10 version 1809+ (build 17763) |
> [!TIP]
> Also works successfully on iOS 18+/macOS 18+ - there was an API change here# Usage
- Add NuGet package to your project:
```xml```
- Add the following to your `MauiProgram.cs` `CreateMauiApp` method:
```diff
builder
.UseMauiApp()
+ .UseInAppReviews()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
});
``````cs
ReviewStatus status = await InAppReview.Current.RequestAsync();
```# Links
- https://developer.android.com/guide/playcore/in-app-review
- https://github.com/jamesmontemagno/StoreReviewPlugin
- [Requesting Reviews with iOS 10.3’s SKStoreReviewController](https://devblogs.microsoft.com/xamarin/requesting-reviews-ios-10-3s-skstorereviewcontroller/?WT.mc_id=friends-0000-jamont)
- [In-app reviews for your Android apps](https://devblogs.microsoft.com/xamarin/android-in-app-reviews/?WT.mc_id=friends-0000-jamont)### Testing & Debugging issues
#### iOS
* You cannot submit a review on iOS while developing, but the review popup dialog displays in your simulator/device.
* However, when you download the app from Testflight, the popup dialog does not display at all, as [mentioned here](https://developer.apple.com/documentation/storekit/skstorereviewcontroller/2851536-requestreview):
> When you call this method while your app is still in development mode, a rating/review request view is always displayed so that you can test the user interface and experience. However, this method has no effect when you call it in an app that you distribute using TestFlight."#### Android
* Unlike iOS, you cannot see the review popup dialog while developing or if you distribute it manually. As you can [see here](https://developer.android.com/guide/playcore/in-app-review/test), you have to download the app from the Play Store to see the popup. I recommend using Android Play Store's [“Internal App Sharing”](https://play.google.com/console/about/internalappsharing/) feature to test.
* Occasionally, some devices may not show the popup at all as [seen here](https://github.com/jamesmontemagno/StoreReviewPlugin/pull/27#issuecomment-877410136). One way to test whether your device is affected by it, is by downloading [this game that uses v3.1 of this nuget, target SDK version 30, target framework v11.0](https://play.google.com/store/apps/details?id=com.tfp.numberbomb) and win the game once to see the popup. Additionally, you can debug the error using adb locat, as you can [see here](https://github.com/jamesmontemagno/StoreReviewPlugin/issues/26#issue-940942211)
* The [most common issue/crash type](https://github.com/jamesmontemagno/StoreReviewPlugin/issues/20) is that developers release the app in the release configuration but they only test in the debug configuration. They do not realize that they have set Linker behavior to `Link SDK assemblies only`/`Link all`, and did not follow the proguard steps mentioned above