init static method

Future<void> init(
  1. String appId,
  2. AppSettings appSettings, {
  3. required dynamic onSuccess(
    1. String successMessage
    )?,
  4. required dynamic onError(
    1. CometChatException e
    )?,
})

method initializes the settings required for CometChat

We suggest you call the init() method on app startup

appId refers to your CometChat App ID. region The region where the app was created.

Migration Note: Now uses pure native Dart implementation. Platform channels have been removed - all functionality is now in Dart.

Android Reference: CometChat.init(Context, String, AppSettings, CallbackListener)

Implementation

static Future<void> init(String appId, AppSettings appSettings,
    {required Function(String successMessage)? onSuccess,
    required Function(CometChatException e)? onError}) async {
  // Initialize native Dart SDK
  await SdkInitializer.initialize(
    appId,
    appSettings,
    onSuccess: (message) {
      // Set up native Dart stream subscriptions for real-time events
      _setupNativeStreamSubscriptions();

      Logger.info('CometChat',
          'SDK initialized successfully with native Dart implementation');

      if (onSuccess != null) onSuccess(message);
    },
    onError: onError,
  );
}