open_cdp_flutter_sdk 2.0.0 copy "open_cdp_flutter_sdk: ^2.0.0" to clipboard
open_cdp_flutter_sdk: ^2.0.0 copied to clipboard

A Flutter SDK for integrating with the OpenCDP platform. Track user events, screen views, and device attributes with automatic lifecycle tracking and dual write to Customer.io.

Changelog #

2.0.0 - 2025-12-30 #

Bug Fixes #

  • Fixed iOS build errors when using push notification tracking with notification service extensions
    • Resolved "Undefined symbol" linker errors that prevented iOS apps from building

Breaking Changes #

  • iOS Notification Service Extension setup required update

    • If you're using push notification tracking with an iOS notification service extension, you must update your configuration:

    Update your Podfile:

    target 'NotificationService' do
      use_frameworks!
    
      pod 'open_cdp_push_extension',
          :path => '.symlinks/plugins/open_cdp_flutter_sdk/ios'
    end
    

    Update your NotificationService.swift:

    import UserNotifications
    import OpenCdpPushExtension  // Changed from: import open_cdp_flutter_sdk
    
    • After updating, run:

      cd ios
      rm -rf Pods Podfile.lock
      pod install
      
    • See the README.md for complete setup instructions

1.2.1 - 2025-11-13 #

  • Updated identify() method to not accept email as identifier
    • Use the new customerIoId parameter if you need to use email as Id for Customer.io
  • Added customerIoId parameter to identify() method for dual-write support
    • Use this when you need different identifiers for OpenCDP and Customer.io
  • Added throwErrorsBack option to OpenCDPConfig for configurable error handling
    • Default (false): Errors are logged but don't throw exceptions - your app won't crash
    • Set to true: Catch and handle CDPValidationException and CDPException yourself
    • Choose based on your app's error handling strategy
  • Enhanced input validation with helpful error messages

Usage Examples #

Basic Usage (with non-email identifier):

await OpenCDPSDK.instance.identify(
  identifier: 'user_123',
  properties: {'name': 'John Doe'}
);

Dual-Write Usage (with Customer.io email ID):

await OpenCDPSDK.instance.identify(
  identifier: 'user_123',           // Non-email ID for OpenCDP
  customerIoId: '[email protected]', // Email ID for Customer.io
  properties: {'name': 'John Doe'}
);

1.2.0 - 2025-10-26 #

  • Breaking Changes

    • Updated minimum Android SDK version to 24
    • Updated compileSdk to 36 for Android
  • Updated dependencies

  • Updated Kotlin version to 2.1.0

  • Updated Android Gradle plugin to 8.9.1

1.1.0 #

  • Push notification tracking and deliverability improvements
    • Enhanced support for push notification handling in iOS app extensions using the specified app group
    • Ensures proper tracking of notifications received in app extensions
    • Android push notification tracking improvements
  • Updated README with clearer instructions for push notification setup

1.0.5 #

  • Breaking: Removed OpenCDPSDK.update (user properties update)
    • This method existed in 1.0.4 and earlier; it has now been removed from the public API
    • Migration: use identify(identifier: ..., properties: {...}) to update traits
    • Related internal update method and example/test code have been removed/commented accordingly
  • Updated CDP API endpoints
    • Base URL
    • No changes required in your integration—requests are routed automatically

1.0.4 #

  • Updated the SDK to use the new OpenCDP API endpoint
    • No changes required in your integration—your app will now automatically connect to the latest, more reliable OpenCDP service.
    • Ensures continued access to data and improved service stability.

1.0.3 #

  • SDK now handles errors gracefully without crashing your app
    • No more try-catch blocks required in your code
    • Network failures and validation errors are logged but don't break functionality
    • App continues to work even when tracking operations fail
  • Clear error messages when SDK is not properly initialized
    • Helps developers identify missing initialization calls
    • App remains stable even without proper SDK setup
  • Better error messages and logging when debug mode is enabled

1.0.2 #

  • Added offline request queue support
    • Failed requests are automatically queued
    • Queued requests are retried after successful requests
    • Queue persists between app restarts
  • Removed unused meta package dependency
  • Code cleanup and improvements

1.0.1 #

  • Removed Customer.io push notification token registration from this SDK. For push notification setup with Customer.io, please follow their official documentation.

1.0.0 #

  • Initial release
  • User identification and tracking
  • Event tracking with different types (custom, screen view, lifecycle)
  • Device registration and push notification support
  • Automatic screen tracking
  • Application lifecycle tracking
  • Customer.io integration
  • Device attributes tracking
0
likes
150
points
73
downloads

Publisher

verified publishercodematic.io

Weekly Downloads

A Flutter SDK for integrating with the OpenCDP platform. Track user events, screen views, and device attributes with automatic lifecycle tracking and dual write to Customer.io.

Repository (GitHub)
View/report issues
Contributing

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

crypto, customer_io, device_info_plus, flutter, http, package_info_plus, shared_preferences

More

Packages that depend on open_cdp_flutter_sdk

Packages that implement open_cdp_flutter_sdk