Compatibility

Each version of the Contentsquare bridge will be linked to specific, fixed versions of each native SDK. In order to make that clear, here is a compatibility table to consider when choosing your version of the bridge. Refer to the React Native Bridge Changelog to know what the changes are for each version.

Bridge VersioniOS SDK VersionAndroid SDK VersionMin React Native VersionMax React Native Version
4.5.04.32.04.27.00.70.0***0.74.x
4.4.04.31.24.27.00.70.0***0.73.x
4.3.14.30.24.26.00.65.0**0.73.x
4.2.04.29.14.24.00.65.0**0.73.x
4.0.14.27.04.23.10.65.0**0.73.x
3.9.04.27.04.23.10.65.0**0.72.x
3.8.04.25.24.20.00.65.0**0.72.x
3.6.14.24.04.20.00.65.0**0.72.x
3.5.04.23.04.19.00.65.0**0.71.x
3.4.04.22.14.18.10.59.0*0.71.x
3.3.14.20.04.15.00.59.0*0.71.x
3.2.04.20.04.15.00.59.00.71.x
3.1.04.18.04.15.00.59.00.70.x
3.0.04.17.04.14.00.59.00.70.x

*make sure to add this configuration if your RN version is below 0.70.0

**make sure to add this configuration to the Android app if your RN version is between 0.69.0 and 0.70.0, and this configuration to the Android app if your RN version is between 0.65.0 and 0.68.0.

***we support all React Native versions that are currently maintained and listed on the official React Native documentation.

Known limitations and recommendations

Section titled Known limitations and recommendations

For React Native project below 0.70.0

Section titled For React Native project below 0.70.0

For React Native project between 0.69 - 0.70

Section titled For React Native project between 0.69 - 0.70

For React Native project between 0.65 - 0.68

Section titled For React Native project between 0.65 - 0.68

If you are using PanResponders in your app, a bug might appear on the element implementing it where it will only move for about a second and then freeze. This bug is caused by a conflict between the React Native SDK and our Bridge related to tracking swipe events. May you encounter this bug, the current workaround is to stop the Contentsquare tracking when the pan gesture starts, and resume it as the gesture ends, as follows:

const panResponder = useRef(
PanResponder.create({
[...]
onPanResponderGrant: (evt, gestureState) => {
Contentsquare.stopTracking();
[...]
},
onPanResponderRelease: (evt, gestureState) => {
Contentsquare.resumeTracking();
[...]
},
[...]
})
).current;

Note that, although this workaround fixes the bug, applying it means that swipes on view using the PanResponder won’t be tracked by Contentsquare.