Acknowledged
CIQQA-3813

Connect IQ Store does not add Instinct 3 Solar 50mm product ID to manifest

When selecting “Instinct® 3 Solar 45mm / 50mm” in the Connect IQ Store and releasing the app, only the product ID “instinct3solar45mm” is added to the generated manifest.xml.

The product ID “instinct3solar50mm” is not added automatically, which causes the app to be marked as incompatible on Instinct 3 Solar 50mm devices in the Garmin Connect IQ App.

Additional issue:
If “instinct3solar50mm” is added manually to manifest.xml using the “Edit as XML” option, the Connect IQ builder reports that this product ID does not exist or is invalid.

A likely quick fix for this issue would be to update the Store-side product mapping so that the “Instinct® 3 Solar 45mm / 50mm” selection correctly maps to both underlying product IDs.

At minimum, the Store mapping for “Instinct® 3 Solar 45mm” should also include the 50mm variant, so that selecting the combined device option results in all supported product IDs being added to the generated manifest.

This would align the Store UI grouping with the actual device compatibility and prevent 50mm devices from being incorrectly marked as incompatible.

  • Also forgot to mention that each Connect IQ product ID / device has a unique hardware part number (hardwarePartNumber in compiler.json).

    That's why I think each CIQ product is a hardware platform, while each of the (software) part numbers is a software variant (although there can also be some physical differences as well).

  • > apps.garmin.com/.../deviceTypes

    > Oh, and I also needed this for mapping device naming to their IDs on the backend, thanks!

    No worries!

    I'll just caution that the part number to model name mapping in the CIQ web store (rip) is different than than the mapping in the CIQ store app (for iOS and Android).

    For example, some of the human-friendly model names are slightly different, and some models are grouped together in one of the two stores but not the other. You can see this easily if you compare the supported devices list for some random app on both stores, as long as it supports lots of different devices.

    Most notably, there was a recent bug where it seems like a specific part number mapping is wrong in the web store, but correct in the store app. Has to do with Tactix 8 apparently having a distinct part number in reality, but the web store thinks it's also mapped to the base Fenix 8 AMOLED part number (both have the CIQ product id). The end result is if your app supports both Fenix 8 and the real Tactix 8 part number, then "Tactix 8" shows up twice in the web store (pretty harmless), but if your app only supports the Fenix 8 part number but not the Tactix 8 part number, "Tactix 8" shows up once in the web store, which is misleading to the dev (when they look at their own app from the dev dashboard). Ofc the only way this could happen is if you built for that shared Fenix 8 / Quatix 8 / Tactix 8 device id before Tactix 8 was released, so all affected devs would have to do is rebuild and re-release their app. Plus the webstore isn't really that accessible to end users anymore. This still shows that it's possible for that API to return incorrect information. As with a lot of stuff, it has to be taken with a grain of salt.

    > Could you clarify — if a watch image is returned directly via an API link, is it allowed to use that image on my website? Would that violate copyright?

    You may not have been directing this to me, but I'll just say that I obviously can't answer that question. Only Garmin can give you a definitive answer.

  • https://apps.garmin.com/api/appsLibraryExternalServices/api/asw/deviceTypes

    Oh, and I also needed this for mapping device naming to their IDs on the backend, thanks!

    Could you clarify — if a watch image is returned directly via an API link, is it allowed to use that image on my website? Would that violate copyright?

     

  • Even with the workaround and understanding the technical reason, I still consider this a bug from a UX perspective.

    If I see a combined 45mm / 50mm device option in the device selection UI, I expect it to actually correspond to both device variants. From a developer point of view, the UI suggests full support for both, regardless of internal part number filtering or API level differences.

  • Thanks everyone for the detailed explanations and clarifications.

    I’m relatively new to Garmin / Connect IQ development and started by developing specifically for my own device first. For testing apps that require communication through the phone, the simplest workflow for me so far has been using beta distribution, since it allows the mobile companion part to be installed on the phone as well.

    Really appreciate all the insights about product IDs vs part numbers and the export filtering behavior — this helped a lot.