segmentio / analytics-ios

The hassle-free way to integrate analytics into any iOS application.
https://segment.com/libraries/ios
MIT License
398 stars 332 forks source link

Enable bundled integrations if specified #1027

Closed matibzurovski closed 2 years ago

matibzurovski commented 2 years ago

What does this PR do? This PR fixes an issue where events wouldn't be delivered to integrations if their SDKs are bundled. Even when following the SDK docs, integrations would be overridden and set to false.

How should this be manually tested?

  1. Integrate analytics-ios and Braze into the same project.

  2. Set up Segment's AnalyticConfiguration to use(SEGAppboyIntegrationFactory.instance())

  3. Track an event and set the options to allow Braze:

    Analytics.shared().track("example", properties: nil, options: [
    "integrations": [
        "Appboy": true
    ]
    ])
  4. Notice how the event JSON sent to the SDK has Appboy set to false, when it should actually be true.

    "integrations": {
    "Appboy": false
    }

What are the relevant tickets? Issue was reported on https://github.com/segmentio/analytics-ios/issues/967.

Questions:

matibzurovski commented 2 years ago

thoughts @prayansh ?