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:

  1. Verify the request (implement HMAC verification or IP allowlisting)
  2. Map alias to user/device in your system
  3. Send push notification via your chosen provider (FCM/APNs/etc.)
  4. Return HTTP 200 status
  5. Handle retries - system will retry on 5xx errors (max 3 attempts)

๐Ÿงช Testing & Validation

๐ŸŒ Outdoor Location Testing

Setup:

  1. Navigate to Console โ†’ Regions
  2. Draw a 5km region around your office
  3. 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:

  1. Power on a test beacon
  2. Add beacon to Console (UUID/Major/Minor)
  3. Create small region linked to beacon
  4. 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

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us