getLastDeliveredMessageId static method

Future<int?> getLastDeliveredMessageId({
  1. dynamic onSuccess(
    1. int lastMessageId
    )?,
})

Get last delivered message ID.

Migration Note: Migrated from platform channels to native Dart implementation. Behavior and signature remain identical for backward compatibility.

Android Reference: CometChat.getLastDeliveredMessageId()

Implementation

static Future<int?> getLastDeliveredMessageId(
    {Function(int lastMessageId)? onSuccess}) async {
  try {
    // Get SDK instance
    final sdk = SdkRegistry.getInstance();

    // Call native Dart message repository
    final messageId = await sdk.messages.getLastDeliveredMessageId();

    // Call success callback
    if (onSuccess != null) onSuccess(messageId);
    return messageId;
  } on SdkException catch (sdkEx) {
    // Convert SdkException to CometChatException
    final cometChatEx = CometChatException(
      sdkEx.code,
      sdkEx.details ?? sdkEx.message,
      sdkEx.message,
    );
    _errorCallbackHandler(cometChatEx, null, null, null);
    return null;
  } catch (e) {
    _errorCallbackHandler(null, null, e, null);
    return null;
  }
}