ia_tracking 2.0.1
ia_tracking: ^2.0.1 copied to clipboard
IA Tracking Flutter SDK - Cross-platform user action tracking with native Android and iOS integration
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased] #
2.0.1 - 2025-10-21 #
Changed #
- Event names are now in uppercase to align with the new backend schema.
2.0.0 - 2025-10-16 #
Added #
- Automatic collection of app information (app name, version, build number) on every tracking event.
- New APIs for iOS App Tracking Transparency (ATT):
requestTrackingPermission,getTrackingAuthorizationStatus,isTrackingAuthorized, andgetIDFA. - The example app now requests ATT permission before SDK initialization to include IDFA in the
app_initevent.
Changed #
- Breaking Change: The SDK initialization is now unified under a single
initialize(IaTrackingConfig config)method. The oldinitializeandTrackingConfigurationare removed. - Breaking Change: Hardcoded API credentials have been removed. The
apiBaseUrlis now a required parameter during initialization. Cloudflare credentials (cfAccessClientId,cfAccessClientSecret) are now optional. - The Android and iOS native codebases have been significantly refactored for better modularity, maintainability, and readability.
Fixed #
- Fixed a bug on Android where the
app_initevent was not sent on the first launch when using enhanced initialization. - Resolved an Android release build failure by replacing an incompatible Base64 decoder with a compatible one.
- Fixed a crash on iOS that occurred when requesting ATT permission on real devices.
1.1.0 - 2025-08-20 #
Added #
- API Integration Update: Complete integration with backend API documentation
- CloudFlare Tunnel Support: Native support for CloudFlare tunnel URLs
- Enhanced UUID Generation: Proper v4 UUID format for all event and batch IDs
- Structured API Payload: New payload format with
events,batchInfo,deviceInfo, andsessionInfo - Environment Variable Support: API URL configuration via
IA_TRACKING_API_URLenvironment variable - Base64 URL Encoding: Support for base64-encoded API URLs for additional security
Changed #
- API Endpoint Structure: Updated to use
/v1/trackendpoint format - HTTP Headers: Updated to match API documentation (
Content-Type,User-Agent,X-API-Key) - Event Type Mapping: Improved event type categorization with
action_subtypeproperties - Device Information: Enhanced device info collection including timezone, carrier, and connection type
- Error Handling: Improved error responses and debugging information
- UUID Format: Fixed UUID generation to use proper v4 format instead of custom format
Fixed #
- API Validation: Events now pass server-side UUID validation
- Batch Processing: Proper batch ID generation and tracking
- URL Validation: Enhanced URL validation to support development and production environments
- Session Management: Improved session ID generation and tracking
Technical Improvements #
- Android Implementation: Updated native Android plugin to match API specifications
- iOS Implementation: Updated native iOS plugin with new payload structure
- Response Handling: Enhanced API response parsing and error logging
- Security: Improved URL handling and validation for production use
Breaking Changes #
- API Payload Format: The internal API payload format has changed to match backend specifications
- UUID Format: Event IDs now use standard v4 UUID format (affects internal storage only)
Note: These changes are primarily internal and maintain backward compatibility for the public Flutter API.