命名Flutter插件EventChannel

时间:2019-05-06 03:06:21

标签: flutter flutter-plugin flutter-platform-channel

我创建了一个新的插件

flutter create --template plugin alfalfa

生成lib/alfalfa.dart包含

import 'dart:async';

import 'package:flutter/services.dart';

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

  //...
}

我想添加一个EventChannel,以便Java和Objective-C代码可以回调到Dart代码。我不知道EventChannel的名称是什么。

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

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

还是其他?有约定吗?

如果EventChannel的更好选择是包含反向域的名称,我是否应该将生成的MethodChannel重命名为com.rollingfields.alfalfa

1 个答案:

答案 0 :(得分:1)

如有疑问,请检查flutter插件库。连接插件使用:

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

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

所以,当然是良好实践的一个例子。因此,也许com.rollingfields/alfalfacom.rollingfields/alfalfa_events