SDK Overview
Description
MeetingLawyersApp is the main entry point for the MeetingLawyers iOS SDK. It manages SDK configuration, user authentication, push notifications, color customization, and messaging.
All methods are accessed as static methods on MeetingLawyersApp. It is mandatory to configure the SDK before calling any other method.
Configuration
configure(apiKey: String, environment: RemoteEnvironment, completion: (MeetingLawyersError?) -> Void)
Configures the SDK with an API key and environment.
configure(apiKey: String, environment: RemoteEnvironment) async throws
Async/await version of the configuration method.
configure(_ configuration: MeetingLawyersConfiguration, completion: (MeetingLawyersError?) -> Void)
Configures the SDK using a MeetingLawyersConfiguration object.
configure(_ configuration: MeetingLawyersConfiguration) async throws
Async/await version using a configuration object.
getInstallationId() -> String
Returns the unique installation identifier for the current device.
Authentication
authenticate(userId: String, completion: (MeetingLawyersError?) -> Void)
Authenticates a user on the MeetingLawyers platform.
authenticate(userId: String) async throws
Async/await version of the authentication method.
logout(completion: (MeetingLawyersError?) -> Void)
Logs out the currently authenticated user.
logout() async throws
Async/await version of the logout method.
isAuthenticated() -> Bool
Returns whether a user is currently authenticated.
Push Notifications
setFirebaseMessagingToken(token: String, completion: (MeetingLawyersError?) -> Void)
Registers the Firebase push notification token for the current device.
setFirebaseMessagingToken(token: String) async throws
Async/await version of the token registration method.
isMeetingLawyersPush(notification: UNNotification) -> Bool
Checks if a received notification was sent by MeetingLawyers.
isMeetingLawyersPush(userInfo: [AnyHashable: Any]) -> Bool
Checks if a notification payload was sent by MeetingLawyers.
userNotificationCenter(willPresent: UNNotification) async throws -> UNNotificationPresentationOptions
Handles notification presentation when the app is in the foreground.
userNotificationCenter(willPresent: UNNotificationRequest, completionHandler: (UNNotificationPresentationOptions) -> Void) -> Bool
Completion-based version. Returns true if handled by the SDK.
userNotificationCenter(didReceive: UNNotificationResponse) async throws
Handles the user's response to a notification.
userNotificationCenter(didReceive: UNNotificationRequest, completionHandler: (MeetingLawyersError?) -> Void) -> Bool
Completion-based version. Returns true if handled by the SDK.
UI & Navigation
professionalListViewController(delegate: ProfessionalListOutputType?, filter: ProfessionalListFilter?) -> UINavigationController?
Returns the professional list screen ready to be presented.
execute(action: MeetingLawyersAction, origin: UIViewController?, completionHandler: (MeetingLawyersError?) -> Void)
Executes an internal navigation action like opening a specific chat or a video call.
execute(action: MeetingLawyersAction, origin: UIViewController?) async throws
Async/await version of the action execution method.
Messaging
unreadMessageCount(filter: ProfessionalListFilter?, completion: (Int, MeetingLawyersError?) -> Void)
Returns the unread message count, optionally filtered by speciality.
unreadMessageCount(filter: ProfessionalListFilter?) -> AnyPublisher<Int, Never>
Color Configuration
setStyle(primaryColor: UIColor)
Primary color, used by default in all elements that can be tinted within the application.
setStyle(secondaryColor: UIColor)
Secondary color. Used in the badge for pending messages. Null value or not set → primaryColor.
setStyle(navigationColor: UIColor)
Color used to tint navigation bar elements. Null value or not set → primaryColor.
setStyle(navigationTitleView: UIView?)
Custom view displayed as the navigation bar title.
setStyle(navigationLeftBarButtons: [UIBarButtonItem])
Custom left bar button items for the navigation bar.
setStyle(navigationRightBarButtons: [UIBarButtonItem])
Custom right bar button items for the navigation bar.
setStyle(dividerColor: UIColor)
Color used in the divider background (free or trial users). Null value or not set → primaryColor.
setStyle(chatBackgroundView: UIView?)
Custom background view for the chat screen.
setStyle(incomingBubbleColor: UIColor)
Color for incoming message bubbles in chat. Null value or not set → #E0E0E0.
setStyle(outgoingBubbleColor: UIColor)
Color for outgoing message bubbles in chat. Null value or not set → primaryColor.
Event Tracking
eventTrackingScreen(screenName: String, subType: String?)
Logs a screen view event for external analytics tracking.