Activity name showing in Garmin Connect for Badminton/Squash

Hello,

I develop watch apps which allow users to count and recognize strokes during racked sports activities (Tennis, Squash and Badminton) - link.

All of them use API 3.2.0 and record activity using build in generic profile SPORT_TENNIS.

The issue is there is no Squash/Badminton profile available at API 3.2.0. I'm recommending users to go to Garmin Connect settings, use Display Settings and change Activity Name field to: 'Location and Device Activity Name'. However this small inconvenience gives me negative feedback from the users and potentially discourage some people from using my apps. Is there any way (other than using higher API) to make activities recorded by my apps to showing up with correct name in Garmin Connect?

There is an app (Fb3) link which does what I ask about and supprts all older devices, eg. Approach® S60 API 2.4.0

BTW. In case I move to higher API, reduce amount of models/products supported by my app, would the obsolete version of my app be still available in Garmin Express for older devices?

  • When you change GC to display "Location and Device Activity Name". that only impacts activities you sync after the change if I recall (I'd made the change a number of years ago).  Never seen any other way to support this, and for me, this goes back as far as CIQ 1 devices and goes up to CIQ4 devices.  Is fb3 just showing known sports and subsports, or showing the name used with createSession?

  • In F3b app you just select Squash in menu and whan activity saves I see the following:

    For F3B 'Activity Name' setting does not matter.

  • What are you using for sport and subsport?  What device are you using?

    There is this, but it's only "since 4.1.6"

    SUB_SPORT_SQUASH 94

    API Level 4.1.6

  • All my apps use SPORT_TENNIS and SUB_SPORT_GENERIC that is why users see Tennis as a default activity name before chaning display settings.

    I'm using Fenix7 (4.2.0) but one of my users told me F3b behaves the same on Fenix6 Pro (3.4.0).

    I have just checked my Vivoactive 3 (3.1.0) and F3b fails -> saves squash as Tennis be default..

  • You tried using the subsport of 94 instead of generic?  That might work on older devices  On the F7, you should be able to use the name I posted.

  • I will try to do so, test and let you know. Thanks

  • Ok I've done as suggested but in order to avoid crash on older devices I had to add a condition as follows:

                    if (Activity has :SUB_SPORT_BADMINTON) {
                        session = ActivityRecording.createSession({
                            :name=>"Badminton AI",
                            :sport=>Activity.SPORT_RACKET,
                            :subSport=>Activity.SUB_SPORT_BADMINTON
                        });
                    } else {
                        session = ActivityRecording.createSession({
                            :name=>"Badminton AI",
                            :sport=>Activity.SPORT_TENNIS,
                            :subSport=>Activity.SUB_SPORT_GENERIC
                        });
                    }
    Thanks for help solving this issue for newer devices. Users with older ones would have to change display settings..
  • Regarding your last question: It's a good question. If you do that (and if it works) then you won't get any more feedback in ERAViewer regarding bugs in the older version :( 

    What I do in similar cases is extensive juggling or rather jungling :) So in each version my code compiles for all the devices I support, even though it does things a bit different in old/new devices (and also less things in older devices)

  • I'm curious: how does this perform? Most people wear the watch on the non dominant arm and hold the rocket in the dominant arm. How are you able to count the strokes? Or do they have to wear the watch on the same arm they hold the rocket in?

  • Ok, i really want to avoid this kind of juggling plus for older devices I'm at the edge of memory available so I avoid adding a code just to customize it for particular devices etc.

    Yes, you need to wear the watch on your dominant hand in order to record your strokes. It takes some time to get used to play with heavier models like Fenix or Epic but in most of the cases it is just a matter of couple of trainings to start feeling comfortable wearing it during the training.