Aloompa Presence Integration Guide - Third Party (Indoor + Outdoor)
Powered by the Crowd Connected SDK
For third-party mobile developers integrating indoor (beacon-based) and outdoor (GPS-based) positioning with region-triggered push notifications
โก Quick Start Checklist
Complete these essential setup tasks before you begin development:
๐ Pre-Integration Checklist:
- โ Console credentials and App Key received
Provided by Aloompa team - โ SDK integrated into mobile apps
iOS (SPM/CocoaPods) and/or Android (Gradle) - โ User alias configured
setAlias("user_id", <unique-id>) called after login - โ Indoor setup completed
Beacons registered with UUID/Major/Minor (Console โ Beacons) - โ Outdoor setup completed
Geofence regions created (Console โ Regions) - โ Push provider configured
Alias Key = user_id (Console โ Messaging โ) - โ Testing completed
Both indoor and outdoor smoke tests passing
๐ Prerequisites
๐ Required Access & Tools
- Documentation: Crowd Connected Console & Documentation
- Development Environment: Xcode 15+ or Android Studio Hedgehog+
- SDK Version: Crowd Connected SDK 2.0+ (current version with enhanced debugging)
- Unique User ID: Stable identifier per user account
๐ก Hardware Requirements
- Beacons: iBeacon or Eddystone compatible
- Test Hardware: Available from Aloompa if needed
- Mobile Devices: iOS 12+ / Android 7+
๐ฑ Push Notification Support
Choose one of the following providers:
- OneSignal
- FCM/APNs
- AWS SNS/Pinpoint
- Custom webhook (Recommended)
๐ง SDK Integration
Adding the SDK and Initialization
iOS Implementation (Swift)
import CrowdConnectedCore // Initialize the SDK with required modules CrowdConnected.start( apiKey: "APP_KEY", modules: [.geo, .ips] // Note: .ips for indoor positioning, .geo for outdoor ) // Set user alias after login (call after successful user authentication) CrowdConnected.setAlias(key: "user_id", value: currentUser.id)
Android Implementation (Kotlin)
// Initialize the SDK with required modules // Note: Use current SDK 2.0 class names and configuration Colocator.Builder(this, "APP_KEY") .enableGeoModule() // Outdoor positioning .enableIPSModule() // Indoor positioning (IPS = Indoor Positioning System) .start() // Set user alias after login (call after successful user authentication) Colocator.setAlias("user_id", currentUser.id)
โ๏ธ Module Configuration
Choose the appropriate modules based on your use case:
Use Case | Module Configuration | Console Setup Required |
---|---|---|
Outdoor only | .enableGeoModule() |
Draw GPS regions |
Indoor only | .enableIPSModule() |
Register beacons โ Create regions |
Indoor + Outdoor | Enable both modules | Configure both beacon and GPS regions |
๐ฑ Push Notification Setup
Console Configuration Options
Configure your preferred push provider in the Crowd Connected Console:
Provider | Required Credentials | Functionality |
---|---|---|
OneSignal | App ID, REST API Key | Calls OneSignal /notifications endpoint |
FCM/APNs | FCM Server Key or APNs .p8 + Team/Key IDs | Direct push delivery |
AWS SNS, Expo, etc. | Provider-specific credentials | Direct push delivery |
Custom webhook | HTTPS URL, Alias Key = user_id | POST JSON to your endpoint |
Custom Webhook Implementation
๐ง Endpoint Requirements:
- URL:
POST https://yourdomain.com/crowdconnected
- Protocol: HTTPS required
- Response: Must return HTTP 200 for successful processing
Payload Format
{ "title": "Notification Heading", "body": "Notification Message", "alias": "user_12345" }
โ Implementation Flow:
- Verify the request (implement HMAC verification or IP allowlisting)
- Map alias to user/device in your system
- Send push notification via your chosen provider (FCM/APNs/etc.)
- Return HTTP 200 status
- Handle retries - system will retry on 5xx errors (max 3 attempts)
๐งช Testing & Validation
๐ Outdoor Location Testing
Setup:
- Navigate to Console โ Regions
- Draw a 5km region around your office
- Create an "On entry" test message
Test Process: Walk outside boundary, then back in
Expected Result: Push notification within 10 seconds
๐ข Indoor Beacon Testing
Setup:
- Power on a test beacon
- Add beacon to Console (UUID/Major/Minor)
- Create small region linked to beacon
- Set up entry trigger message
Test Process: Walk away from beacon, then return
Expected Result: Push notification on beacon entry
Real-time Monitoring & Debugging
๐ Device Status & Remote Debugging (SDK 2.0):
- Device Status: Console โ Developer Setup shows real-time connection status
- Remote Debug Mode: Use device IP address or Crowd Connected device ID
- Real-time Logs: SDK status changes and configuration issues visible in console
- Status Reports: Automatic reports include SDK version, modules, permissions
Pre-Launch Verification
โ Final Verification Checklist:
- โ Latest SDK version installed
- โ Required permissions granted (location, push notifications)
- โ Beacon UUID/Major/Minor values match Console registration
- โ Push tokens successfully registered with provider
- โ Console logs showing accurate user analytics
๐ฌ Support & Resources
๐ Primary Support - Aloompa
Contact: clientsupport@aloompa.com
- Integration assistance
- Implementation guidance
- Technical troubleshooting
- Account and credential support
๐ง Secondary Support - Crowd Connected
Portal: Crowd Connected Support
- SDK documentation
- API reference guides
- Platform-specific issues
๐ง Hardware & Testing
- Beacon Hardware: Request test beacons from Aloompa
- Build Verification: Submit test builds to Aloompa for verification
- Real Device Testing: Always test in actual deployment environments
โ Best Practices
- Monitor Console analytics during initial deployment
- Keep SDK updated to latest stable version
- Implement proper error handling for location permissions
- Test with real devices in production-like conditions
โ ๏ธ Important: Always test with real devices in actual deployment environments. Simulator testing is insufficient for location-based features.
For additional technical questions or implementation support, contact clientsupport@aloompa.com