registerWith static method
Implementation
static void registerWith(Registrar registrar) {
final MethodChannel channel = MethodChannel(
'plugins.zego.im/zego_express_engine',
const StandardMethodCodec(),
registrar,
);
// ignore: unused_local_variable
final eventChannel = PluginEventChannel(
'plugins.zego.im/zego_express_event_handler',
const StandardMethodCodec(),
registrar);
final pluginInstance = ZegoExpressEngineWeb();
channel.setMethodCallHandler(pluginInstance.handleMethodCall);
eventChannel.setController(ZegoExpressEngineWeb._evenController);
_evenController.stream.listen((event) {
_eventListener(event);
});
// 获取所有 <script> 标签
List<Element> scripts = document.querySelectorAll('script');
// 查找包含 'ZegoExpressWebFlutterWrapper' 的脚本
final zegoScript = scripts.firstWhere(
(script) =>
script.attributes['src']?.contains('ZegoExpressWebFlutterWrapper') ??
false,
orElse: () => Element.div(),
);
if (zegoScript.tagName.toLowerCase() == 'div') {
var element = ScriptElement()
..src =
'assets/packages/zego_express_engine/assets/ZegoExpressWebFlutterWrapper.js'
..type = 'application/javascript';
document.body!.append(element);
}
}