Recommended way to track watchOS complication install/remove events for analytics?

We ship WidgetKit complications (StaticConfiguration, TimelineProvider) in a companion iOS + watchOS app and want to send Adobe Analytics when users add, remove, or switch complication kinds/families on their watch face. From the widget extension we only see timeline refreshes via getTimeline, which seems too noisy and unrelated to user intent to use for lifecycle tracking. On iOS we diff WidgetCenter.shared.currentConfigurations() at app launch against persisted state—is that also Apple’s recommended pattern on watchOS, or is there a supported callback we’re missing? How should this work for a companion app (watch collects and relays via WatchConnectivity vs. tracking from the iPhone Watch app) versus a standalone watch app where third-party analytics may only run on-device? We’re especially unsure how reliably removal is detected if the watch app doesn’t launch again after a complication is removed.

Yes, the recommended approach is to query WidgetCenter.shared.currentConfigurations (you can call this from the widget extension too)

For the removal case, if your app or extension don't get invoked again, you could think about trying to infer removal if there's been no updates for a certain number of days perhaps (server side). There's no API that tells you when a widget has been unconfigured/removed by the user.

Recommended way to track watchOS complication install/remove events for analytics?
 
 
Q