init method

初始化腾讯 Bugly。

config 为双端通用的公共配置项。

android 与 ios 分别为 Android、iOS 平台的专属配置项, 未传入对应平台的配置时,该平台不会执行初始化。

Implementation

@override
Future<bool> init({
  FlutterTencentBuglyConfig? config,
  FlutterTencentBuglyAndroidConfig? android,
  FlutterTencentBuglyIOSConfig? ios,
}) async {
  assert(
    (_isAndroid && android != null) || (_isIOS && ios != null),
    'Missing required config: pass `android` when running on Android and `ios` when running on iOS.',
  );

  /// If the operating system is not Android or iOS, return false.
  if (!_isSupportPlatform) return false;

  /// 仅合并当前平台的配置,避免另一平台的 appId 等参数覆盖本平台
  final Map<String, dynamic> map = <String, dynamic>{
    ...?config?.toJson(),
    if (_isAndroid) ...?android?.toJson(),
    if (_isIOS) ...?ios?.toJson(),
  };
  final bool? result = await methodChannel.invokeMethod('init', map);
  return result ?? false;
}