Issues migrating a free to paid app - error on update - ConnectIQ.NetworkManagerError error 4.

I originally created a ticket in Merchant Onboarding but I realize now that probably wasn't the right place for it.

https://forums.garmin.com/developer/connect-iq/f/merchant-onboarding/381394/previously-approved-app-now-live-but-users-not-notified-of-update

My understanding was that if we updated our app and transitioned it from free to paid, that existing users would be notified of the change, and then be prompted to update.

I had an existing user send me screenshots of his experience, he does see a prompt to update now but when he tries to update he get's an error message: "The operation could not be completed. (ConnectIQ.NetworkManagerError error 4.)"

I'm not sure if this is related to the fact that he hasn't setup Garmin Pay yet, if that's the case the error message should be improved.

  • One thing you might want to ask the user, is where they are located.  There are some counties where payment isn't supported.  South Africa for example.

    See https://developer.garmin.com/connect-iq/monetization/app-sales/#appsales

    for supported countries.

  • Does the user's device support monetization?  Those device are listed in the link I posted. You probably should have tuned off support for devices where this isn't available, but I have no idea what happens  with devices that are no longer unsupported and this could be an unclear error message. 

    My buddy in South Africa told me about a couple things he sees that seem unclear with this.

  • What really isn’t clear to me is how Garmin can possibly “force” users to upgrade to the paid version of an app. (I don’t have any personal experience with this yet, but I do have someone else’s app which has transitioned to paid on an older device, so I should really check it out.)

    I’m basing my reasoning below on this text from Garmin:

    https://developer.garmin.com/connect-iq/monetization/app-sales/#appsales

    If you are setting a price for an app that has already been approved, the app is temporarily removed from the store so it can be reviewed again. After the app is approved, users receive a message explaining that they must purchase the app before they can use it again.

    Typically (outside of CIQ) when an app goes from free to paid, users are able to continue using the last free version that they already have installed on their device (this is ofc assuming it’s a standalone app that doesn’t rely on some live service which also transitions to paid.)

    Here I see two cases, both of which seem problematic:

    - app is installed on a device (or in a region) which is not supported by monetization. Now what’s Garmin gonna do? Just remove the app that was already working, with no way to let the user upgrade to the paid version?

    - app is installed on a device and region which are supported by monetization. What if the user refuses the upgrade? Is Garmin gonna forcibly remove app in this case?

    In either case there are two possibilities, when the user is unable or unwilling to pay for the monetized version of the app:

    - Garmin forcibly removes the app from the user’s device. In this case, I can imagine many users will be very upset, especially if their device or region does not support monetization. They may be ok with paying for the app, but they can’t! OTOH, how is it fair to pretty much retroactively charge a fee for an app that was previously acquired for free? I am not a lawyer, but there has got to be a reason almost nobody ever does this. (Again I’m not counting cases where an app integrates with a live service that used to be free but is now paid - although if this ever happens, I can imagine users would be furious)

    - Garmin does *not* forcibly remove the app from the user’s device. This is a win for the user, but it sort of contradicts what Garmin said in the quote above

    It seems to me that it would be a lot more reasonable (and fair) for the user to be charged for the *next* version of the app (if they *choose* to upgrade), but if they choose to keep the current version, nothing should happen (i.e. no forced uninstall.)

    At least we know why Garmin has finally hidden *all* app types from the file system in recent firmware updates. (And it’s no longer possible to sideload apps that were built for a different device on to a newer device.)

    EDIT: yes I’m aware of loopholes in the Apple Store such as a free app converting its previously free functionality to in-app purchases. The difference is this really isn’t supported or encouraged at the store level by Apple, whereas in this case, Garmin is saying they will directly facilitate converting free users to paid users for any app that is now monetized but used to be free.

  • it's a forerunner 955 so it does support monetization; but yeah say he had a device without monetization, the error message is not clear. I did turn off compatibility for devices that don't support it though.

  • The way Garmin described things in their documentation seems sensible. They won't force anyone to upgrade, but if you release a new version that now is gated with monetization Garmin said they would prompt users to update and then the user would have to purchase if they want the new version. 

    I made this forum post because I have a user that wants to update and when they try to update they get a cryptic error message.

    If I'm misinterpreting the docs then I agree it's worth discussing, but maybe we can do that on a separate post and keep this thread dedicated to the error message / bug.

  • That's fair, sorry to hijack your post! I agree that these error messages are bad, and I hope Garmin resolves this situation soon. I will say that it's not surprising at all to me.

    They won't force anyone to upgrade, but if you release a new version that now is gated with monetization Garmin said they would prompt users to update and then the user would have to purchase if they want the new version.

    I wouldn't have a problem if that's what Garmin actually said. But what they said was "users receive a message explaining that they must purchase the app before they can use it again." To me it sounds exactly like they will force people to upgrade by disabling the app unless you buy it. If that's not what they meant, they should really reword that statement.

  • This issue still exists, do you know if the team is aware of it?

    Users are being prompted that they have a datafield update (this is on the updates screen) but when they click the update button they hit this error message.

    If the user visits the specific datafield page directly; they are able to update there. But if they are on the updates page with all of their other updates, it fails.