donateRelevantEntities method

  1. @override
Future<void> donateRelevantEntities(
  1. String entityIdentifier,
  2. List<Map<String, dynamic>> entities, {
  3. String? context,
})
override

Donates a set of contextually relevant entities to the system (#55).

Tells the system which entities are relevant right now, scoped by context (e.g. media to suggest during a workout). Each call is a stateful overwrite for that context — passing an empty entities list clears the previously donated set.

entityIdentifier must match an entity whose generated Swift registered a donator (via @EntitySpec(relevantEntities: true)). context is an opaque token understood by the generated code (e.g. 'audio.nowPlaying').

See docs/adr/0003-donations-and-discovery.md.

Implementation

@override
Future<void> donateRelevantEntities(
  String entityIdentifier,
  List<Map<String, dynamic>> entities, {
  String? context,
}) async {
  try {
    await methodChannel.invokeMethod('donateRelevantEntities', {
      'entityIdentifier': entityIdentifier,
      'entities': entities,
      'context': ?context,
    });
  } on MissingPluginException {
    // No-op on platforms that don't implement this (e.g., Android).
    // RelevantEntities donation is iOS-specific.
  }
}