Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Naming a Flutter Plugin EventChannel

I created a new plugin with

flutter create --template plugin alfalfa

which generates lib/alfalfa.dart containing

import 'dart:async';

import 'package:flutter/services.dart';

class Alfalfa {
  static const MethodChannel _channel =
      const MethodChannel('alfalfa');

  //...
}

I want to add an EventChannel so Java and Objective-C code can call back to the Dart code. I don't know what the name of the EventChannel should be.

final EventChannel _eventChannel =
    const EventChannel("com.rollingfields.alfalfa/events");

or

final EventChannel _eventChannel =
    const EventChannel("alfalfa/events");

or something else? Is there a convention?

If the better option for the EventChannel is the name including the reverse domain, should I rename the generated MethodChannel to be com.rollingfields.alfalfa?

like image 512
Ted Henry Avatar asked Nov 02 '25 00:11

Ted Henry


1 Answers

When in doubt, check the flutter plugins repo. The connectivity plugin uses:

  @visibleForTesting
  static const MethodChannel methodChannel = MethodChannel(
    'plugins.flutter.io/connectivity',
  );

  @visibleForTesting
  static const EventChannel eventChannel = EventChannel(
    'plugins.flutter.io/connectivity_status',
  );

so, certainly one example of good practice. So, perhaps com.rollingfields/alfalfa and com.rollingfields/alfalfa_events

like image 55
Richard Heap Avatar answered Nov 03 '25 12:11

Richard Heap