An Android SDK that delivers real-time push notifications to a banking app via WebSocket, displays them as an overlay dialog, and routes deep links to the host app.
DinamicPopUp2/
├── app/ # Demo host application
├── notification-sdk/ # SDK module (builds to AAR)
└── backend/ # Local Node.js WebSocket server
| Tool | Version |
|---|---|
| Android Studio | Ladybug+ |
| JDK | 17 |
| Kotlin | 2.0.21 |
| AGP | 8.13.2 |
| Node.js | 18+ |
| compileSdk | 36 |
| minSdk | 28 |
| targetSdk | 36 |
Open the root DinamicPopUp2/ folder in Android Studio and wait for the Gradle sync to finish.
Navigate to the backend/ folder, install dependencies with npm install, then start the server with npm start. The server runs on port 3000. Open http://localhost:3000 in a browser to access the admin UI for sending test notifications.
Tested on the Android emulator only.
After starting the emulator, run adb reverse tcp:3000 tcp:3000 once to forward the port from the emulator to the host machine.
Select the app run configuration in Android Studio, choose an emulator (API 28+), and click Run. Use the admin UI at http://localhost:3000 to send a test notification to the app.
Run ./gradlew :notification-sdk:assembleRelease from the project root. The output is placed in notification-sdk/build/outputs/aar/.
| Method | Description |
|---|---|
NotificationSdk.init(application, config) |
Initialize once in Application.onCreate() |
NotificationSdk.start() |
Open WebSocket and start receiving notifications |
NotificationSdk.stop() |
Disconnect WebSocket, stop receiving |
NotificationSdk.release() |
Stop + clear ViewModel (call on app finish) |
| Parameter | Type | Description |
|---|---|---|
baseUrl |
String |
Base HTTP URL of the backend |
onDeepLink |
(String) -> Unit |
Called when the user taps a notification CTA |