InAppUpdates.iOSAndroid.Maui
0.0.6
dotnet add package InAppUpdates.iOSAndroid.Maui --version 0.0.6
NuGet\Install-Package InAppUpdates.iOSAndroid.Maui -Version 0.0.6
<PackageReference Include="InAppUpdates.iOSAndroid.Maui" Version="0.0.6" />
<PackageVersion Include="InAppUpdates.iOSAndroid.Maui" Version="0.0.6" />
<PackageReference Include="InAppUpdates.iOSAndroid.Maui" />
paket add InAppUpdates.iOSAndroid.Maui --version 0.0.6
#r "nuget: InAppUpdates.iOSAndroid.Maui, 0.0.6"
#:package InAppUpdates.iOSAndroid.Maui@0.0.6
#addin nuget:?package=InAppUpdates.iOSAndroid.Maui&version=0.0.6
#tool nuget:?package=InAppUpdates.iOSAndroid.Maui&version=0.0.6
Usage
- Add NuGet package to your project:
<PackageReference Include="InAppUpdates.iOSAndroid.Maui" Version="0.0.6" />
- Add the following to your
MauiProgram.cs
CreateMauiApp
method:
builder
.UseMauiApp<App>()
+ .UseInAppUpdates(static options =>
{
options.AppUpdateCheckIntervalDays = 0; // Check for updates every time the app starts
options.AppUpdatePreferenceFileName = "AppStoreVersionPreference";
#if IOS
options.AppBundleID = "6741144561";
options.AppPackageName = "com.company.example";
options.AppCountryCode = "au";
options.AppUpdateAlertTitle = "Update Available";
options.AppUpdateAlertMessage = "A new version {0} of the app is available. " +
"Please update to continue using the app.";
options.AppUpdateAlertButtonYesTxt = "Update Now";
options.AppUpdateAlertButtonNoTxt = "Later";
options.AppUpdateDelayAfterSplashInSeconds = 0.5;
#endif
#if ANDROID
options.ImmediateUpdatePriority = 2;
#endif
#if DEBUG
#if ANDROID
options.UseFakeAppUpdateManager = true;
#endif
options.DebugAction = (applog) =>
{
Console.WriteLine("Debug action executed: " + applog);
};
#endif
})
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
});
iOS
Notes
- Properties mentioned in the iOS Macro are required for iOS
- By using the bundle ID, the app will be able to check for updates in the App Store.
- Package name used to redirect iOS Store, when update is available.
Android
Notes
The default behavior:
- If priority 1-3 is specified, flexible update will be offered
- If priority 4-5 is specified, immediate update will be offered
There is no need to specify conditional compilation here, the package provides an empty method for non netx.0-android platforms as a stub to make integration as simple as possible.
It will display a window when starting an application or resume according to the official guides.
You cannot see the popup dialog while developing or if you distribute it manually.
As you can see here,
you have to download the app from the Play Store to see the popup.
I recommend using Android Play Store's “Internal App Sharing” feature to test.
Reference Links
- https://developer.android.com/guide/playcore/in-app-updates/kotlin-java
- https://github.com/PatGet/XamarinPlayCoreUpdater
- https://github.com/xamarin/GooglePlayServicesComponents/issues/796
- https://github.com/PatGet/XamarinPlayCoreUpdater/issues/22
- https://github.com/PatGet/XamarinPlayCoreUpdater/issues/17
- https://github.com/PatGet/XamarinPlayCoreUpdater/pull/20#issuecomment-1273774958
- https://stackoverflow.com/questions/56218160/how-to-implement-google-play-in-app-update-and-use-play-core-library-with-xamari
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. net9.0-android was computed. net9.0-android35.0 is compatible. net9.0-browser was computed. net9.0-ios was computed. net9.0-ios18.0 is compatible. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- Microsoft.Maui.Controls (>= 9.0.90)
- Newtonsoft.Json (>= 13.0.3)
-
net9.0-android35.0
- Microsoft.Maui.Controls (>= 9.0.90)
- Newtonsoft.Json (>= 13.0.3)
- Xamarin.AndroidX.Collection.Ktx (>= 1.5.0.2)
- Xamarin.Google.Android.Play.App.Update.Ktx (>= 2.1.0.15)
-
net9.0-ios18.0
- Microsoft.Maui.Controls (>= 9.0.90)
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.