Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for setup to resolve its promises #15

Closed

Conversation

cristeahub
Copy link

@cristeahub cristeahub commented Oct 31, 2018

With this change the setup method will now resolve its promises and
thereby be able to catch errors during setup.

This is not currently sufficiently tested, but I wanted some feedback if this is the correct approach before hardening this. Since there is no development branch on this repo I just made this to master.

This is related to and tries to fix #16 .

@cristeahub
Copy link
Author

Woops, this was meant for my local fork 😅 This is to combat the error Duplicate analytics client created with tag: XXXX. If you want to use multiple Analytics clients, use a different writeKey or set a tag via the builder during construction..

I meant to open an issue on this repo, I'll do that during the day.

@cristeahub cristeahub closed this Oct 31, 2018
@cristeahub cristeahub deleted the workaround-for-duplicate-key branch October 31, 2018 12:59
@cristeahub cristeahub restored the workaround-for-duplicate-key branch October 31, 2018 13:02
@cristeahub
Copy link
Author

On second thought, maybe you want this or I can update this to make it good enough for merge!

@cristeahub cristeahub reopened this Oct 31, 2018
@cristeahub cristeahub force-pushed the workaround-for-duplicate-key branch from 7c66058 to 40b63cf Compare October 31, 2018 14:10
@cristeahub cristeahub changed the title Add workaround for duplicate key error Add support for setup to resolve its promises Oct 31, 2018
@cristeahub cristeahub force-pushed the workaround-for-duplicate-key branch from 40b63cf to 7af3bd7 Compare October 31, 2018 14:38
With this change the setup method will now resolve its promises and
thereby be able to catch errors during setup.
@cristeahub cristeahub force-pushed the workaround-for-duplicate-key branch from 7af3bd7 to e74ab69 Compare October 31, 2018 15:54
@raffij
Copy link

raffij commented Dec 7, 2018

Is this going to be merged in the future? or another development fix proposed?

@cristeahub
Copy link
Author

I see there's been some development on this branch here https://github.com/segmentio/analytics-react-native/commits/HyreAS/workaround-for-duplicate-key , but I'm not sure if it's still worked on.

@CapitanRedBeard
Copy link

CapitanRedBeard commented Feb 9, 2019

@fathyb Have you seen this PR and the other discussion mentioned here? Would love to know if we could get some traction on this, local development is really a pain with this bug.

@cristeahub
Copy link
Author

@fathyb Have you seen this PR and the other discussion mentioned here? Would love to know if we could get some traction on this, local development is really a pain with this bug.

I have a hack to circumvent this here: #16 (comment) .

What we do locally is to have a .diff file with that content in it and use a post_install hook to apply that diff. Works well enough until we get a proper fix.

@benmcmaster
Copy link

I would love to see this merged as well.

Copy link

@sejas sejas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We would like to have this fix !

@sregg
Copy link

sregg commented Feb 26, 2019

@cristeahub would you mind sharing your .diff file and your post_install?

@sregg
Copy link

sregg commented Feb 26, 2019

For info, I used https://github.com/ds300/patch-package to patch the android file. It seems to be working pretty well.

@cristeahub
Copy link
Author

@cristeahub would you mind sharing your .diff file and your post_install?

Yes sure! You can find the file here: #16 (comment)

Just copy the content and put that in a .diff file, then add this to your postinstall script: git apply patch.diff.

@yamov
Copy link

yamov commented Mar 23, 2019

Hi there. Any chance for this PR to be merged?

@fathyb fathyb closed this in #51 Mar 29, 2019
fathyb added a commit that referenced this pull request Mar 29, 2019
jezallan pushed a commit to uswitch/analytics-react-native that referenced this pull request Jun 29, 2022
## @uswitch/analytics-react-native-v1.0.0 (2022-06-29)

### ⚠ BREAKING CHANGES

* We've improved iOS support for non-Cocoapods users. You do not need to follow these steps if you are using Cocoapods.

### Migration instructions

- Remove `Analytics.framework` from your Xcode project
- Remove `Analytics.framework` from `Embedded Binaries`
- Follow [Current instructions](#current-instructions)

### Current instructions
* **client:** We've dropped the chained configuration for an object one instead. This will make Analytics blend even better with tools like Prettier.

Before:
```js
analytics
    .configure()
        .using(Mixpanel, GoogleAnalytics)
        .recordScreenViews()
        .trackAppLifecycleEvents()
        .trackAttributionData()
        .android()
            .flushInterval(60)
            .disableDevicedId()
        .ios()
            .trackAdvertising()
            .trackDeepLinks()
    .setup("writeKey")
    .then(() =>
        console.log('Analytics is ready')
    )
    .catch(err =>
        console.error('Something went wrong', err)
    )
```

Now:
```js
analytics
    .setup('writeKey', {
        using: [Mixpanel, GoogleAnalytics],
        recordScreenViews: true,
        trackAppLifecycleEvents: true,
        trackAttributionData: true,

        android: {
            flushInterval: 60,
            collectDeviceId: false
        },
        ios: {
            trackAdvertising: true,
            trackDeepLinks: true
        }
    })
    .then(() =>
        console.log('Analytics is ready')
    )
    .catch(err =>
        console.error('Something went wrong', err)
    )
```

### Features

* Add AdvertisingId Plugin ([segmentio#574](https://github.com/uswitch/analytics-react-native/issues/574)) ([9f47e67](9f47e67))
* add analytics 2.0 ([segmentio#360](https://github.com/uswitch/analytics-react-native/issues/360)) ([829fc80](829fc80))
* add anonymousId logic to reset ([segmentio#475](https://github.com/uswitch/analytics-react-native/issues/475)) ([23baab4](23baab4))
* add deeplink referral application data ([segmentio#454](https://github.com/uswitch/analytics-react-native/issues/454)) ([dbfc267](dbfc267))
* add reset to plugins ([segmentio#490](https://github.com/uswitch/analytics-react-native/issues/490)) ([686f73f](686f73f))
* added destination metadata and internal timeline processing for destinatio plugins ([segmentio#477](https://github.com/uswitch/analytics-react-native/issues/477)) ([8b1df55](8b1df55))
* **android:** allow opt-out for new lifecycle methods ([segmentio#256](https://github.com/uswitch/analytics-react-native/issues/256)) ([8dbadad](8dbadad))
* **android:** allow passing integration options ([segmentio#184](https://github.com/uswitch/analytics-react-native/issues/184)) ([6845c67](6845c67))
* **anonymousid:** add a method to retrieve the anonymousId ([988f382](988f382))
* **client:** use object-based configuration ([segmentio#7](https://github.com/uswitch/analytics-react-native/issues/7)) ([6a281f4](6a281f4))
* **core:** add middlewares ([9aeafa3](9aeafa3))
* **core:** add native configuration method ([19c4fae](19c4fae))
* **core:** export TypeScript public interfaces ([9978cd7](9978cd7))
* **core:** http proxying via setup configuration ([segmentio#202](https://github.com/uswitch/analytics-react-native/issues/202)) ([40a3f5a](40a3f5a))
* Create Client Proxy Option ([segmentio#570](https://github.com/uswitch/analytics-react-native/issues/570)) ([eaeb940](eaeb940))
* createClient "storePersistor" option ([segmentio#549](https://github.com/uswitch/analytics-react-native/issues/549)) ([4b70e99](4b70e99))
* **integrations:** allow setting integration options ([13b663e](13b663e))
* **ios:** make idfa for ios external to analytics ([segmentio#210](https://github.com/uswitch/analytics-react-native/issues/210)) ([35f96a0](35f96a0))
* **ios:** set trackAdvertising=true by default on ios ([segmentio#82](https://github.com/uswitch/analytics-react-native/issues/82)) ([09e997b](09e997b))
* new onContextLoad events and awaitable context updates ([segmentio#532](https://github.com/uswitch/analytics-react-native/issues/532)) ([4508ad4](4508ad4)), closes [segmentio#524](https://github.com/uswitch/analytics-react-native/issues/524) [segmentio#527](https://github.com/uswitch/analytics-react-native/issues/527)
* plugins can now disable integrations by marking them as false in the event.integrations ([segmentio#496](https://github.com/uswitch/analytics-react-native/issues/496)) ([65c2371](65c2371))
* replacing redux with sovran ([segmentio#422](https://github.com/uswitch/analytics-react-native/issues/422)) ([2d69cc1](2d69cc1))

### Bug Fixes

* add fix for deviceId on android builds ([segmentio#405](https://github.com/uswitch/analytics-react-native/issues/405)) ([92c1fc0](92c1fc0))
* add override fix to ios modules ([segmentio#404](https://github.com/uswitch/analytics-react-native/issues/404)) ([8e47eb6](8e47eb6))
* **android:** bump android dependency ([segmentio#214](https://github.com/uswitch/analytics-react-native/issues/214)) ([acd0f2f](acd0f2f))
* **android:** bump deps and fix config issues ([segmentio#298](https://github.com/uswitch/analytics-react-native/issues/298)) ([5a2ed9b](5a2ed9b))
* **android:** defaultKotlinVersion ([segmentio#159](https://github.com/uswitch/analytics-react-native/issues/159)) ([54e90a3](54e90a3))
* **android:** fix crash when promise resolves in debug mode ([segmentio#267](https://github.com/uswitch/analytics-react-native/issues/267)) ([a0e21d9](a0e21d9))
* **android:** fixed context not passing thru ([segmentio#147](https://github.com/uswitch/analytics-react-native/issues/147)) ([cb1b412](cb1b412))
* **android:** parse android specific options correctly ([segmentio#187](https://github.com/uswitch/analytics-react-native/issues/187)) ([49e4815](49e4815))
* **android:** pull android tool versions from root project ([segmentio#12](https://github.com/uswitch/analytics-react-native/issues/12)) ([3f1eb3c](3f1eb3c)), closes [/github.com/frostney/react-native-create-library/blob/master/templates/android.js#L28](https://github.com/uswitch//github.com/frostney/react-native-create-library/blob/master/templates/android.js/issues/L28)
* appsflyer attribution ([segmentio#547](https://github.com/uswitch/analytics-react-native/issues/547)) ([494df24](494df24))
* **bridge:** fix duplicated analytics client improving errors ([segmentio#162](https://github.com/uswitch/analytics-react-native/issues/162)) ([28a981d](28a981d))
* **bridge:** fix p(r)omise typo ([segmentio#168](https://github.com/uswitch/analytics-react-native/issues/168)) ([d9794db](d9794db))
* **bridge:** improve missing native module error ([segmentio#5](https://github.com/uswitch/analytics-react-native/issues/5)) ([0a03617](0a03617))
* change React dependency to React-Core ([segmentio#254](https://github.com/uswitch/analytics-react-native/issues/254)) ([c51e689](c51e689))
* **client:** copy package with version ([2c223dd](2c223dd))
* **config:** pass user-supplied context for analytics calls ([segmentio#188](https://github.com/uswitch/analytics-react-native/issues/188)) ([7429567](7429567))
* **context:** fix `context` `name` and `version` ([09f0b28](09f0b28))
* **core:** fix duplicate client error in dev mode ([segmentio#51](https://github.com/uswitch/analytics-react-native/issues/51)) ([cb66749](cb66749)), closes [segmentio#16](https://github.com/uswitch/analytics-react-native/issues/16) [segmentio#15](https://github.com/uswitch/analytics-react-native/issues/15)
* **core:** fix TypeScript typings ([fe7933c](fe7933c)), closes [segmentio#11](https://github.com/uswitch/analytics-react-native/issues/11)
* **core:** React-Native 0.59 Support ([segmentio#50](https://github.com/uswitch/analytics-react-native/issues/50)) ([a78c94e](a78c94e)), closes [segmentio#46](https://github.com/uswitch/analytics-react-native/issues/46) [segmentio#44](https://github.com/uswitch/analytics-react-native/issues/44)
* custom event integrations override support, refactor integration merge logic ([segmentio#379](https://github.com/uswitch/analytics-react-native/issues/379)) ([d0b8fbf](d0b8fbf))
* deepmerge device context on update ([segmentio#543](https://github.com/uswitch/analytics-react-native/issues/543)) ([5878043](5878043))
* don't call stringValue of strings ([segmentio#253](https://github.com/uswitch/analytics-react-native/issues/253)) ([226a9e4](226a9e4))
* fix bundle unbundled logic ([segmentio#521](https://github.com/uswitch/analytics-react-native/issues/521)) ([9e080b1](9e080b1))
* fixes missing context in first launch event after install ([segmentio#451](https://github.com/uswitch/analytics-react-native/issues/451)) ([efb2805](efb2805))
* fixing scheduling of flush intervals ([segmentio#457](https://github.com/uswitch/analytics-react-native/issues/457)) ([1b86cfc](1b86cfc))
* format integration settings correctly in the event integrations ([9e7d62d](9e7d62d))
* generating a UUID for anonymousID initial value, refactor userId replacement ([segmentio#440](https://github.com/uswitch/analytics-react-native/issues/440)) ([ef297ee](ef297ee))
* **ios:** bump ios dependency ([segmentio#217](https://github.com/uswitch/analytics-react-native/issues/217)) ([4848bbd](4848bbd))
* **ios:** fix `trackAppLifecycleEvents` ([50c4b09](50c4b09))
* **ios:** fixes for building for newer rn ([segmentio#206](https://github.com/uswitch/analytics-react-native/issues/206)) ([ecce14c](ecce14c))
* match identify and reset client methods arguments, add token to context ([segmentio#533](https://github.com/uswitch/analytics-react-native/issues/533)) ([f865d48](f865d48))
* merge context to preserve plugin injected properties ([segmentio#487](https://github.com/uswitch/analytics-react-native/issues/487)) ([9586a7a](9586a7a))
* **package:** missing repo info ([segmentio#268](https://github.com/uswitch/analytics-react-native/issues/268)) ([6a2a93b](6a2a93b))
* persist user traits across events ([segmentio#581](https://github.com/uswitch/analytics-react-native/issues/581)) ([d48ac83](d48ac83))
* prevent events mutating state on empty removes ([133b821](133b821))
* re-add logic for tracking lifecycle events ([segmentio#328](https://github.com/uswitch/analytics-react-native/issues/328)) ([92194f3](92194f3))
* refactor getDeviceID to use DRM, remove AndroidID ([segmentio#567](https://github.com/uswitch/analytics-react-native/issues/567)) ([f2616aa](f2616aa))
* refactoring redux event subscriptions and locking upload ([segmentio#376](https://github.com/uswitch/analytics-react-native/issues/376)) ([a302215](a302215))
* remove console.warning when sending events ([segmentio#413](https://github.com/uswitch/analytics-react-native/issues/413)) ([954ece1](954ece1))
* remove import cycle in DestinationMetadataEnrichment ([segmentio#505](https://github.com/uswitch/analytics-react-native/issues/505)) ([9d51d3f](9d51d3f))
* reset anonymousId for users who have persisted incorrect value ([segmentio#445](https://github.com/uswitch/analytics-react-native/issues/445)) ([37aeb81](37aeb81))
* setting minSDK to > 21 for Android and updating to sovran 0.2.2 ([segmentio#430](https://github.com/uswitch/analytics-react-native/issues/430)) ([4c6e977](4c6e977))
* upgrade sovran to v0.2.3, move RN to peerDeps ([segmentio#437](https://github.com/uswitch/analytics-react-native/issues/437)) ([b76739a](b76739a))

* Improve iOS support for users without Cocoapods  (segmentio#27) ([e90a58c](e90a58c)), closes [segmentio#27](https://github.com/uswitch/analytics-react-native/issues/27) [segmentio/analytics-ios#3](segmentio/analytics-ios#3)
jezallan pushed a commit to uswitch/analytics-react-native that referenced this pull request Jun 29, 2022
## @uswitch/analytics-react-native-v1.0.0 (2022-06-29)

### ⚠ BREAKING CHANGES

* We've improved iOS support for non-Cocoapods users. You do not need to follow these steps if you are using Cocoapods.

### Migration instructions

- Remove `Analytics.framework` from your Xcode project
- Remove `Analytics.framework` from `Embedded Binaries`
- Follow [Current instructions](#current-instructions)

### Current instructions
* **client:** We've dropped the chained configuration for an object one instead. This will make Analytics blend even better with tools like Prettier.

Before:
```js
analytics
    .configure()
        .using(Mixpanel, GoogleAnalytics)
        .recordScreenViews()
        .trackAppLifecycleEvents()
        .trackAttributionData()
        .android()
            .flushInterval(60)
            .disableDevicedId()
        .ios()
            .trackAdvertising()
            .trackDeepLinks()
    .setup("writeKey")
    .then(() =>
        console.log('Analytics is ready')
    )
    .catch(err =>
        console.error('Something went wrong', err)
    )
```

Now:
```js
analytics
    .setup('writeKey', {
        using: [Mixpanel, GoogleAnalytics],
        recordScreenViews: true,
        trackAppLifecycleEvents: true,
        trackAttributionData: true,

        android: {
            flushInterval: 60,
            collectDeviceId: false
        },
        ios: {
            trackAdvertising: true,
            trackDeepLinks: true
        }
    })
    .then(() =>
        console.log('Analytics is ready')
    )
    .catch(err =>
        console.error('Something went wrong', err)
    )
```

### Features

* Add AdvertisingId Plugin ([segmentio#574](https://github.com/uswitch/analytics-react-native/issues/574)) ([9f47e67](9f47e67))
* add analytics 2.0 ([segmentio#360](https://github.com/uswitch/analytics-react-native/issues/360)) ([829fc80](829fc80))
* add anonymousId logic to reset ([segmentio#475](https://github.com/uswitch/analytics-react-native/issues/475)) ([23baab4](23baab4))
* add deeplink referral application data ([segmentio#454](https://github.com/uswitch/analytics-react-native/issues/454)) ([dbfc267](dbfc267))
* add reset to plugins ([segmentio#490](https://github.com/uswitch/analytics-react-native/issues/490)) ([686f73f](686f73f))
* added destination metadata and internal timeline processing for destinatio plugins ([segmentio#477](https://github.com/uswitch/analytics-react-native/issues/477)) ([8b1df55](8b1df55))
* **android:** allow opt-out for new lifecycle methods ([segmentio#256](https://github.com/uswitch/analytics-react-native/issues/256)) ([8dbadad](8dbadad))
* **android:** allow passing integration options ([segmentio#184](https://github.com/uswitch/analytics-react-native/issues/184)) ([6845c67](6845c67))
* **anonymousid:** add a method to retrieve the anonymousId ([988f382](988f382))
* **client:** use object-based configuration ([segmentio#7](https://github.com/uswitch/analytics-react-native/issues/7)) ([6a281f4](6a281f4))
* **core:** add middlewares ([9aeafa3](9aeafa3))
* **core:** add native configuration method ([19c4fae](19c4fae))
* **core:** export TypeScript public interfaces ([9978cd7](9978cd7))
* **core:** http proxying via setup configuration ([segmentio#202](https://github.com/uswitch/analytics-react-native/issues/202)) ([40a3f5a](40a3f5a))
* Create Client Proxy Option ([segmentio#570](https://github.com/uswitch/analytics-react-native/issues/570)) ([eaeb940](eaeb940))
* createClient "storePersistor" option ([segmentio#549](https://github.com/uswitch/analytics-react-native/issues/549)) ([4b70e99](4b70e99))
* **integrations:** allow setting integration options ([13b663e](13b663e))
* **ios:** make idfa for ios external to analytics ([segmentio#210](https://github.com/uswitch/analytics-react-native/issues/210)) ([35f96a0](35f96a0))
* **ios:** set trackAdvertising=true by default on ios ([segmentio#82](https://github.com/uswitch/analytics-react-native/issues/82)) ([09e997b](09e997b))
* new onContextLoad events and awaitable context updates ([segmentio#532](https://github.com/uswitch/analytics-react-native/issues/532)) ([4508ad4](4508ad4)), closes [segmentio#524](https://github.com/uswitch/analytics-react-native/issues/524) [segmentio#527](https://github.com/uswitch/analytics-react-native/issues/527)
* plugins can now disable integrations by marking them as false in the event.integrations ([segmentio#496](https://github.com/uswitch/analytics-react-native/issues/496)) ([65c2371](65c2371))
* replacing redux with sovran ([segmentio#422](https://github.com/uswitch/analytics-react-native/issues/422)) ([2d69cc1](2d69cc1))

### Bug Fixes

* add fix for deviceId on android builds ([segmentio#405](https://github.com/uswitch/analytics-react-native/issues/405)) ([92c1fc0](92c1fc0))
* add override fix to ios modules ([segmentio#404](https://github.com/uswitch/analytics-react-native/issues/404)) ([8e47eb6](8e47eb6))
* **android:** bump android dependency ([segmentio#214](https://github.com/uswitch/analytics-react-native/issues/214)) ([acd0f2f](acd0f2f))
* **android:** bump deps and fix config issues ([segmentio#298](https://github.com/uswitch/analytics-react-native/issues/298)) ([5a2ed9b](5a2ed9b))
* **android:** defaultKotlinVersion ([segmentio#159](https://github.com/uswitch/analytics-react-native/issues/159)) ([54e90a3](54e90a3))
* **android:** fix crash when promise resolves in debug mode ([segmentio#267](https://github.com/uswitch/analytics-react-native/issues/267)) ([a0e21d9](a0e21d9))
* **android:** fixed context not passing thru ([segmentio#147](https://github.com/uswitch/analytics-react-native/issues/147)) ([cb1b412](cb1b412))
* **android:** parse android specific options correctly ([segmentio#187](https://github.com/uswitch/analytics-react-native/issues/187)) ([49e4815](49e4815))
* **android:** pull android tool versions from root project ([segmentio#12](https://github.com/uswitch/analytics-react-native/issues/12)) ([3f1eb3c](3f1eb3c)), closes [/github.com/frostney/react-native-create-library/blob/master/templates/android.js#L28](https://github.com/uswitch//github.com/frostney/react-native-create-library/blob/master/templates/android.js/issues/L28)
* appsflyer attribution ([segmentio#547](https://github.com/uswitch/analytics-react-native/issues/547)) ([494df24](494df24))
* **bridge:** fix duplicated analytics client improving errors ([segmentio#162](https://github.com/uswitch/analytics-react-native/issues/162)) ([28a981d](28a981d))
* **bridge:** fix p(r)omise typo ([segmentio#168](https://github.com/uswitch/analytics-react-native/issues/168)) ([d9794db](d9794db))
* **bridge:** improve missing native module error ([segmentio#5](https://github.com/uswitch/analytics-react-native/issues/5)) ([0a03617](0a03617))
* change React dependency to React-Core ([segmentio#254](https://github.com/uswitch/analytics-react-native/issues/254)) ([c51e689](c51e689))
* **client:** copy package with version ([2c223dd](2c223dd))
* **config:** pass user-supplied context for analytics calls ([segmentio#188](https://github.com/uswitch/analytics-react-native/issues/188)) ([7429567](7429567))
* **context:** fix `context` `name` and `version` ([09f0b28](09f0b28))
* **core:** fix duplicate client error in dev mode ([segmentio#51](https://github.com/uswitch/analytics-react-native/issues/51)) ([cb66749](cb66749)), closes [segmentio#16](https://github.com/uswitch/analytics-react-native/issues/16) [segmentio#15](https://github.com/uswitch/analytics-react-native/issues/15)
* **core:** fix TypeScript typings ([fe7933c](fe7933c)), closes [segmentio#11](https://github.com/uswitch/analytics-react-native/issues/11)
* **core:** React-Native 0.59 Support ([segmentio#50](https://github.com/uswitch/analytics-react-native/issues/50)) ([a78c94e](a78c94e)), closes [segmentio#46](https://github.com/uswitch/analytics-react-native/issues/46) [segmentio#44](https://github.com/uswitch/analytics-react-native/issues/44)
* custom event integrations override support, refactor integration merge logic ([segmentio#379](https://github.com/uswitch/analytics-react-native/issues/379)) ([d0b8fbf](d0b8fbf))
* deepmerge device context on update ([segmentio#543](https://github.com/uswitch/analytics-react-native/issues/543)) ([5878043](5878043))
* don't call stringValue of strings ([segmentio#253](https://github.com/uswitch/analytics-react-native/issues/253)) ([226a9e4](226a9e4))
* fix bundle unbundled logic ([segmentio#521](https://github.com/uswitch/analytics-react-native/issues/521)) ([9e080b1](9e080b1))
* fixes missing context in first launch event after install ([segmentio#451](https://github.com/uswitch/analytics-react-native/issues/451)) ([efb2805](efb2805))
* fixing scheduling of flush intervals ([segmentio#457](https://github.com/uswitch/analytics-react-native/issues/457)) ([1b86cfc](1b86cfc))
* format integration settings correctly in the event integrations ([9e7d62d](9e7d62d))
* generating a UUID for anonymousID initial value, refactor userId replacement ([segmentio#440](https://github.com/uswitch/analytics-react-native/issues/440)) ([ef297ee](ef297ee))
* **ios:** bump ios dependency ([segmentio#217](https://github.com/uswitch/analytics-react-native/issues/217)) ([4848bbd](4848bbd))
* **ios:** fix `trackAppLifecycleEvents` ([50c4b09](50c4b09))
* **ios:** fixes for building for newer rn ([segmentio#206](https://github.com/uswitch/analytics-react-native/issues/206)) ([ecce14c](ecce14c))
* match identify and reset client methods arguments, add token to context ([segmentio#533](https://github.com/uswitch/analytics-react-native/issues/533)) ([f865d48](f865d48))
* merge context to preserve plugin injected properties ([segmentio#487](https://github.com/uswitch/analytics-react-native/issues/487)) ([9586a7a](9586a7a))
* **package:** missing repo info ([segmentio#268](https://github.com/uswitch/analytics-react-native/issues/268)) ([6a2a93b](6a2a93b))
* persist user traits across events ([segmentio#581](https://github.com/uswitch/analytics-react-native/issues/581)) ([d48ac83](d48ac83))
* prevent events mutating state on empty removes ([133b821](133b821))
* re-add logic for tracking lifecycle events ([segmentio#328](https://github.com/uswitch/analytics-react-native/issues/328)) ([92194f3](92194f3))
* refactor getDeviceID to use DRM, remove AndroidID ([segmentio#567](https://github.com/uswitch/analytics-react-native/issues/567)) ([f2616aa](f2616aa))
* refactoring redux event subscriptions and locking upload ([segmentio#376](https://github.com/uswitch/analytics-react-native/issues/376)) ([a302215](a302215))
* remove console.warning when sending events ([segmentio#413](https://github.com/uswitch/analytics-react-native/issues/413)) ([954ece1](954ece1))
* remove import cycle in DestinationMetadataEnrichment ([segmentio#505](https://github.com/uswitch/analytics-react-native/issues/505)) ([9d51d3f](9d51d3f))
* reset anonymousId for users who have persisted incorrect value ([segmentio#445](https://github.com/uswitch/analytics-react-native/issues/445)) ([37aeb81](37aeb81))
* setting minSDK to > 21 for Android and updating to sovran 0.2.2 ([segmentio#430](https://github.com/uswitch/analytics-react-native/issues/430)) ([4c6e977](4c6e977))
* upgrade sovran to v0.2.3, move RN to peerDeps ([segmentio#437](https://github.com/uswitch/analytics-react-native/issues/437)) ([b76739a](b76739a))

* Improve iOS support for users without Cocoapods  (segmentio#27) ([e90a58c](e90a58c)), closes [segmentio#27](https://github.com/uswitch/analytics-react-native/issues/27) [segmentio/analytics-ios#3](segmentio/analytics-ios#3)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Android "Duplicate analytics client created"
8 participants