isWearable? has :steps?

My app is only useful on devices that count steps. I don't see any api or field related to steps that is not available on edge or gpsmap devices. Is there a better way to know from simulator.json or compiler.json whether a device is a wearable or whether it supports step counting other than whether the device name starts with "edge" or "gpsmap"?

  • Check for has ActivityMonitor as it's not just steps  Also, you wont find SensorHistory on Edge, etc

    You can also just not include non-watches for your target devices, which is the easiest

  • That's exactly what I needed. I generate monkey.jungle with a script that uses filters to only have the relevant devices AND it also warns me in case new devices were added (and downloaded in SDK manager) but I forgot to add them to the manifest.

  •  Is there a better way to know from simulator.json or compiler.json whether a device is a wearable or whether it supports step counting other than whether the device name starts with "edge" or "gpsmap"?

    Although you already have the answer you need, note that there are non-wearables whose names don't start with "edge" or "gpsmap": montana7xx, oregon7xx, and rino7xx.

    And not that you need another solution, but here's some other approaches that would also work:

    - check compiler.json for the presence of appTypes.type == "watchFace" (only watches support this app type)

    - check compiler.json for deviceGroup == "Watches/Wearables" (note that deviceGroup corresponds to the 3 device categories in the SDK Manager's devices tab: "Edge", "Outdoor Handhelds", "Watches/Wearables")

  • The safest way is still to only support devices you can support.  On some older devices (and even things the the I2), the available memory could be too small for your app. 

    And there are other variables, like if there's a baro altimeter (the va5 doesn't have one for example) and there are things like floors that aren't available.