SDKs or Software Development Kits are pieces of embedded code that collect data from mobile apps in exchange for tangible benefits to the end-user. In our expert opinion, the ideal mobile data SDK should be based on the below-stated principles.
Core tenets for a mobile data SDK
- Consent :
The SDK must obtain user consent through explicit opt-in.
- Security :
The SDK must encrypt and protect user data from app to cloud.
- Privacy :
The SDK must inform about privacy policies and data sharing.
- Value :
The SDK must elaborate the benefits and value to the user.
Lately, mobile location data is in high demand. A location SDK collects the user's real-world location from apps on the user's mobile phone. Such an SDK should implement the core tenets and also include the below-mentioned features.
Core features for a mobile location SDK
- Accuracy : The SDK must collect high quality GPS location data with accuracy better than 25 meters
- Experience : The SDK must maintain or enhance the mobile app experience for the user.
- Battery : The SDK must conserve battery and only collect data when needed. The SDK must not engage in high-frequency continuously-timed GPS pings, resulting in rapid battery drain.
- Transparency : The SDK must not collect location data in the background without abundantly informing the user.
Compliance with Privacy Regulations
Most countries have their own version of privacy regulation and consumer data protection law. The Commission Nationale de l'Informatique et des Libertés or CNIL has an awesome interactive map that highlights the data protection and consumer privacy policies for each country. Singapore has the Personal Data Protection Act or PDPA. Australia has the Australian Privacy Principles or APP. Canada has the Personal Information Protection and Electronic Documents Act or PIPEDA. California has the California Online Privacy Protection Act or CalOPPA. The EU has the General Data Protection Regulation or GDPR which went into effect just last week.
To comply with global privacy regulations, mobile data SDKs need to implement the below indicated 3 step process for explicit user notice and consent.
LotaData GeoSDK v2.0
LotaData's shiny new GeoSDK implements the core tenets and features of an ideal mobile data SDK. Our SDK also includes the below features:
- Change-of-state detection
- Dwell time
- Transition time
- Multimode data collection
- Foreground only
- Optional background (not recommended)
- In-app event tags
- Level-up events
- Tagged user actions
- Optional transaction events
- High accuracy location data
- GPS up to 25m accuracy
- WiFi access point detection
- Bluetooth sensor detection
- Security and encryption
- JSON payload encryption
- Payload compression
- API key fingerprinting
- NTP server synchronization
- Device and OS compatibility
- From Jelly Bean (4.2.2)
- To Android Oreo (8.1.0)
- minSdkversion 17
- Power event detection
- Charging / full power
- Cable plug / unplug
- Offline data collection
- Transmission on connection
- Detailed Documentation
- Integration steps
- Rest API Usage
- Visual Dashboard
LotaData's GeoSDK is free to integrate, free to use, and free forever. Wouldn't you say that makes our SDK more "ideal" than others! :)
Not only is the SDK free, LotaData even provides free geo-analytics and location-based insights for app developers. Our AI platform processes the mobile data sent by the SDK to infer people movement and construct actionable cohorts. Some might think we're crazy for not charging for our SDK; we would rather partner with developers at every given opportunity than monetize every aspect of our platform and service. For developers who'd prefer to look through the SDK source code prior to integrating with their mobile apps, we are very open (no pun intended) to opening our source code and sharing the inner workings. For publishers and enterprise customers, we also offer a white-label version of our SDK so that you can make it your own.
In our next blog post, we will dive deeper into how app developers can leverage LotaData's GeoSDK, analytics and insights to increase user engagement by customizing and personalizing the mobile app experience.