larryaasen / upgrader

A Flutter package for prompting users to upgrade when there is a newer version of the app in the store.
MIT License
546 stars 268 forks source link

upgrader: PlayStoreResults.version exception: FormatException: Not a properly formatted version string #138

Closed mrniamster closed 2 years ago

mrniamster commented 2 years ago

Here is the log:

i haven't launced the app yet, just getting this in consoloe, dk if its working or not , please confirm with required fix?

I/Ads     (22879): Ad failed to load : 3
I/DpmTcmClient(22879): RegisterTcmMonitor from: $Proxy0
I/flutter (22879): LoadAdError(code: 3, domain: com.google.android.gms.ads, message: No ad config., responseInfo: ResponseInfo(responseId: null, mediationAdapterClassName: , adapterResponses: []))
W/Gralloc3(22879): allocator 3.x is not supported
I/mrniamster.fkm(22879): NativeAlloc concurrent copying GC freed 31096(1953KB) AllocSpace objects, 6(232KB) LOS objects, 49% free, 5454KB/10MB, paused 157us total 104.808ms
I/flutter (22879): upgrader: PlayStoreResults.version exception: FormatException: Not a properly formatted version string
I/FIAM.Display(22879): Unbinding from activity: MainActivity
larryaasen commented 2 years ago

Thanks for the issue report. To better assist in analyzing this issue, please include all of the upgrader log, which should look something like this:

flutter: upgrader: languageCode: en
flutter: upgrader: build UpgradeAlert
flutter: upgrader: default operatingSystem: ios 11.4
flutter: upgrader: operatingSystem: ios
flutter: upgrader: platform: TargetPlatform.iOS
flutter: upgrader: package info packageName: com.google.Maps
flutter: upgrader: package info appName: Upgrader
flutter: upgrader: package info version: 1.0.0
flutter: upgrader: countryCode: US
flutter: upgrader: blocked: false
flutter: upgrader: debugDisplayAlways: false
flutter: upgrader: debugDisplayOnce: false
flutter: upgrader: hasAlerted: false
flutter: upgrader: appStoreVersion: 5.81
flutter: upgrader: installedVersion: 1.0.0
flutter: upgrader: minAppVersion: null
flutter: upgrader: isUpdateAvailable: true
flutter: upgrader: shouldDisplayUpgrade: true
flutter: upgrader: shouldDisplayReleaseNotes: true
flutter: upgrader: showDialog title: Update App?
flutter: upgrader: showDialog message: A new version of Upgrader is available! Version 5.81 is now available-you have 1.0.0.
flutter: upgrader: showDialog releaseNotes: Thanks for using Google Maps! This release brings bug fixes that improve our product to help you discover new places and navigate to them.

Also, please include the upgrader version number from the pubspec.lock file, which should look something like this:

  upgrader:
    dependency: "direct main"
    description:
      path: ".."
      relative: true
    source: path
    version: "3.6.0"
mrniamster commented 2 years ago

Hello Larry ,

strangly im getting "upgrader" only one time.

I/mrniamster.fkm(22879): NativeAlloc concurrent copying GC freed 31096(1953KB) AllocSpace objects, 6(232KB) LOS objects, 49% free, 5454KB/10MB, paused 157us total 104.808ms
I/flutter (22879): upgrader: PlayStoreResults.version exception: FormatException: Not a properly formatted version string
I/FIAM.Display(22879): Unbinding from activity: MainActivity

i suppose it due to play store returning version code "Varies with device" , i checked other apps , they all are failing, since playstore is not returning correct version info ,


  upgrader:
    dependency: "direct main"
    description:
      name: upgrader
      url: "https://pub.dartlang.org"
    source: hosted
    version: "3.6.0"
mrniamster commented 2 years ago

here is the log

I/flutter (24301): upgrader: default operatingSystem: android 00WW_4_15O
I/flutter (24301): upgrader: operatingSystem: android
I/flutter (24301): upgrader: platform: TargetPlatform.android
I/flutter (24301): upgrader: package info packageName: com.mrniamster.fkme
I/flutter (24301): upgrader: package info appName: YTSUBME
I/flutter (24301): upgrader: package info version: 1.0.0
I/flutter (24301): upgrader: countryCode: IN
I/flutter (24301): upgrader: PlayStoreResults.version exception: FormatException: Not a properly formatted version string
I/flutter (24301): upgrader: blocked: false
I/flutter (24301): upgrader: debugDisplayAlways: false
I/flutter (24301): upgrader: debugDisplayOnce: false
I/flutter (24301): upgrader: hasAlerted: false
I/flutter (24301): upgrader: appStoreVersion: null
I/flutter (24301): upgrader: installedVersion: 1.0.0
I/flutter (24301): upgrader: minAppVersion: null
I/flutter (24301): upgrader: isUpdateAvailable: false
I/flutter (24301): upgrader: shouldDisplayUpgrade: false
I/flutter (24301): upgrader: shouldDisplayReleaseNotes: true
larryaasen commented 2 years ago

According to the page listing on play.google.com for this app, https://play.google.com/store/apps/details?id=com.mrniamster.fkme&hl=en_US&gl=IN, the Current Version is Varies with device. Since there is no valid version listed on the page, this package cannot determine the version number. Maybe change the app to support only one version, or look at using the Appcast feature of upgrader.

mrniamster commented 2 years ago

Hello larry, updating the app version to one version (8.1.0 ) did fix the problem,

but it would be good if there is a dynamic fix for the above scenario,

Solution 1 : What I did in that scenario was creating a JSON of the latest app version placed at my server and fetching and comparing with local pakage version.

Solution 2 : There are many other playstore like app stores from where i was seeing specfifc app version like this one ()version 8.0.0)👍 https://www.apkmonk.com/app/com.mrniamster.fkme/ when it was showing, "varies with device" on playstore , what i did was scraping and getting app info ,

anyways now its fixed :)

ajaygosh102 commented 2 years ago

Same issue here. when it was showing, "varies with device" on play store

I/flutter (17444): upgrader: package info version: 1.0.9
I/flutter (17444): upgrader: countryCode: GB
I/flutter (17444): upgrader: PlayStoreResults.version exception: FormatException: Not a properly formatted version string
I/flutter (17444): upgrader: blocked: false
I/flutter (17444): upgrader: debugDisplayAlways: false
I/flutter (17444): upgrader: debugDisplayOnce: false
I/flutter (17444): upgrader: hasAlerted: false
I/flutter (17444): upgrader: appStoreVersion: null
I/flutter (17444): upgrader: installedVersion: 1.0.9
I/flutter (17444): upgrader: minAppVersion: null
I/flutter (17444): upgrader: isUpdateAvailable: false
I/flutter (17444): upgrader: shouldDisplayUpgrade: false
I/flutter (17444): upgrader: shouldDisplayReleaseNotes: true
larryaasen commented 2 years ago

@ajaygosh102 Does the version number show up on the Google Play Store page?

ajaygosh102 commented 2 years ago

@ajaygosh102 Does the version number show up on the Google Play Store page?

No. in Google Play Store page it shows "varies with device".

larryaasen commented 2 years ago

Since there is no valid version listed on the page, this package cannot determine the version number. Maybe change the app to support only one version, or look at using the Appcast feature of upgrader.