How infobip/mobile-messaging-sdk-android works
This repository is an Android mobile-messaging SDK with separate push, in-app chat, inbox, and RTC calling capabilities. The documented setup initializes the SDK in an app and configures Firebase; the main push path receives FCM messages and queues them for SDK handling. Chat includes a web-widget layer and attachment previews, while inbox and RTC are separate product surfaces. Some source is unsampled, so edges are limited to README statements and relationships visible in excerpts or the source index.
Main entry points: MobileMessagingCloudService.java Cloud work queue · InAppChat.java Chat API · InAppChatScreenImpl.kt Chat screen · InfobipRtcUiFirebaseService.kt RTC FCM service
Components 20
Push Messaging
- Mobile Messaging SDK
infobip-mobile-messaging-android-sdk/src/main/java/org/infobip/mobile/messaging - FCM adapter
infobip-mobile-messaging-android-sdk/src/main/java/org/infobip/mobile/messaging/cloud/firebase/MobileMessagingFirebaseService.java - Cloud work queue
infobip-mobile-messaging-android-sdk/src/main/java/org/infobip/mobile/messaging/cloud/MobileMessagingCloudService.java - Message model
infobip-mobile-messaging-android-sdk/src/main/java/org/infobip/mobile/messaging/Message.java - Push database
infobip-mobile-messaging-android-sdk/src/main/java/org/infobip/mobile/messaging/dal/sqlite/PushDatabaseHelperImpl.java
In-App Chat
- Chat API
infobip-mobile-messaging-android-chat-sdk/src/main/java/org/infobip/mobile/messaging/chat/InAppChat.java - Chat screen
infobip-mobile-messaging-android-chat-sdk/src/main/java/org/infobip/mobile/messaging/chat/core/InAppChatScreenImpl.kt - Livechat widget API
infobip-mobile-messaging-android-chat-sdk/src/main/java/org/infobip/mobile/messaging/chat/core/widget/LivechatWidgetApi.kt - Chat session state
infobip-mobile-messaging-android-chat-sdk/src/main/java/org/infobip/mobile/messaging/chat/core/SessionStorage.kt - Attachment preview
infobip-mobile-messaging-android-chat-sdk/src/main/java/org/infobip/mobile/messaging/chat/view/InAppChatAttachmentPreviewActivity.kt
Message Inbox
- Inbox API
infobip-mobile-messaging-android-inbox-sdk/src/main/java/org/infobip/mobile/messaging/inbox/MobileInbox.java - Inbox synchronizer
infobip-mobile-messaging-android-inbox-sdk/src/main/java/org/infobip/mobile/messaging/inbox/MobileInboxSynchronizer.java - Inbox mapping
infobip-mobile-messaging-android-inbox-sdk/src/main/java/org/infobip/mobile/messaging/inbox/InboxDataMapper.java
RTC Calling
- RTC FCM service
infobip-rtc-ui/src/main/java/com/infobip/webrtc/ui/service/InfobipRtcUiFirebaseService.kt - RTC component wiring
infobip-rtc-ui/src/main/java/com/infobip/webrtc/ui/internal/core/Injector.kt - Call handling
infobip-rtc-ui/src/main/java/com/infobip/webrtc/ui/internal/service/ActiveCallService.kt - Screen sharing
infobip-rtc-ui/src/main/java/com/infobip/webrtc/ui/internal/service/ScreenShareService.kt
Other components
- Android app
- Firebase Cloud Messaging
- Mobile API client
infobip-mobile-messaging-api-java/src/main/java/org/infobip/mobile/messaging/api/support/http/client/DefaultApiClient.java
Connections 18
- Android app → Mobile Messaging SDK: initializes
- Firebase Cloud Messaging → FCM adapter: delivers events
infobip-mobile-messaging-android-sdk/src/main/java/org/infobip/mobile/messaging/cloud/firebase/MobileMessagingFirebaseService.java - FCM adapter → Cloud work queue: enqueues messages
infobip-mobile-messaging-android-sdk/src/main/java/org/infobip/mobile/messaging/cloud/firebase/MobileMessagingFirebaseService.java - Cloud work queue → Message model: serializes message
infobip-mobile-messaging-android-sdk/src/main/java/org/infobip/mobile/messaging/cloud/MobileMessagingCloudService.java - Cloud work queue → Push database: dispatches handling
- Android app → Chat API: opens chat
- Chat API → Chat screen: presents screen
- Chat screen → Livechat widget API: hosts widget
- Chat API → Chat session state: stores session
infobip-mobile-messaging-android-chat-sdk/src/main/java/org/infobip/mobile/messaging/chat/core/SessionStorage.kt - Chat screen → Attachment preview: opens preview
- Android app → Inbox API: accesses inbox
- Inbox API → Inbox synchronizer: synchronizes
- Inbox synchronizer → Inbox mapping: maps data
- Firebase Cloud Messaging → RTC FCM service: delivers events
infobip-rtc-ui/src/main/java/com/infobip/webrtc/ui/service/InfobipRtcUiFirebaseService.kt - RTC FCM service → RTC component wiring: initializes
infobip-rtc-ui/src/main/java/com/infobip/webrtc/ui/service/InfobipRtcUiFirebaseService.kt - RTC FCM service → Call handling: routes calls
infobip-rtc-ui/src/main/java/com/infobip/webrtc/ui/service/InfobipRtcUiFirebaseService.kt - Call handling → Screen sharing: starts service
infobip-rtc-ui/src/main/java/com/infobip/webrtc/ui/internal/service/ActiveCallService.kt - RTC component wiring → Mobile API client: creates RTC API
infobip-rtc-ui/src/main/java/com/infobip/webrtc/ui/internal/core/Injector.kt