oscoreio / Maui.Android.InAppUpdates

NuGet package that implementing Android In-App Updates within a MAUI application with debugging capabilities
MIT License
20 stars 5 forks source link

Flexible Update Support #2

Open ysmoradi opened 7 months ago

ysmoradi commented 7 months ago

At the moment, we're using awesome Maui.AppStoreInfo in our project template I tried to use Maui.Android.InAppUpdates, but I received exception related to exportable activities, but before trying to fix that issue, I'd like to know about porting to Xamarin.Google.Android.Play.App.Update's schedule. Congrats on your awesome works! I really appreciate them (":

HavenDV commented 7 months ago

Thanks for your feedback. We tried using Xamarin.Google.Android.Play.App.Update already, but we had some problems with flexible updates, which is why we switched back to the Core package. I think we should give this another chance, the transition itself is quite trivial.

HavenDV commented 7 months ago

Xamarin.Google.Android.Play.App.Update v2.1.0.5 gives this error when trying to build the final application. The library is built without errors

0>InstallStateUpdatedListener.java(4,8): Error JAVAC0000 javac:  error: InstallStateUpdatedListener is not abstract and does not override abstract method onStateUpdate(InstallState) in StateUpdatedListener
public class InstallStateUpdatedListener

0>InstallStateUpdatedListener.java(30,14): Error JAVAC0000 javac:  error: name clash: onStateUpdate(Object) in InstallStateUpdatedListener and onStateUpdate(InstallState) in StateUpdatedListener have the same erasure, yet neither overrides the other
    public void onStateUpdate (java.lang.Object p0)

Information:

HavenDV commented 7 months ago

So for now the planned solution to this issue is to just wait for the new version of Xamarin.Google.Android.Play.App.Update to be released and try again But perhaps there are other possibilities to implement or bypass this and we will be grateful for any information

HavenDV commented 7 months ago

Since support for Android 14 is important to us and the current version has bugs with this(https://github.com/xamarin/GooglePlayServicesComponents/issues/813), we still made the transition and released version 1.1.0. But flexible updates are still not supported

ysmoradi commented 6 months ago

It seems it's not compatible with popular Plugin.StoreReview nuget package, even the recently published beta version )": As far as I was able to understand, this is mainly an issue of Plugin.StoreReview, not Maui.Android.InAppUpdates, but I think if you submit an issue to that repo, you can describe the situation much much better than me.

Error   XA4215  The Java type `com.google.android.play.core.install.InstallStateUpdatedListener` is generated by more than one managed type. Please change the [Register] attribute so that the same Java type is not emitted.  Boilerplate.Client.Maui C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\34.0.52\tools\Xamarin.Android.Common.targets    1513    
HavenDV commented 6 months ago

I think the main problem is that the packages using Xamarin.Google.Android.Play.Core are not compatible with the Xamarin.Google.Android.Play.App.Update packages and other modular packages. But I could be wrong here

ysmoradi commented 6 months ago

I think the main problem is that the packages using Xamarin.Google.Android.Play.Core are not compatible with the Xamarin.Google.Android.Play.App.Update packages and other modular packages. But I could be wrong here

Would you recommend posting issue there?

HavenDV commented 6 months ago

I see recent commits in this repository and maybe it makes sense. Otherwise we may release a similar package for net8 and higher

HavenDV commented 6 months ago

Or I can provide a PR with support for migrating to modular packages for that repository and we'll just use that. But this may have compatibility issues with previous versions

ysmoradi commented 6 months ago

I'm fine with either approaches If you decided to send a PR, consider opening issue there first, so we can continue discussion there. Hope this helps me use your package in our project template finally 😅

HavenDV commented 6 months ago

https://github.com/oscoreio/Maui.InAppReviews I've already released an initial version of this package, but I haven't tested it enough yet. But any feedback if you have time to test this would help me

ysmoradi commented 6 months ago

Greeting! It's working. The only remaining issue is support for flexible updates.

HavenDV commented 6 months ago
Version Downloads   Last updated    
[2.1.0.6](https://www.nuget.org/packages/Xamarin.Google.Android.Play.App.Update.Ktx/2.1.0.6)    40  2 days ago

I hope this update that came out two days ago will solve the problem

ysmoradi commented 5 months ago

Any updates on this? 😭

HavenDV commented 5 months ago

This new version of the package still gives the same error, so unfortunately no The only way I see is to take the source code of this package and fix it, but I'm not quite sure where this source code is, whether it's open source, I didn't find it in their repository