For the complete documentation index, see llms.txt.

Changelog

Last updated View as Markdown

This SDK mainly receives critical fixes. New capabilities are shipping in the CSQ SDK first.

Migrate to the CSQ SDK using our AI wizard.

  • Native SDKs:

    • Android: 4.52.1 → 4.52.5
    • iOS: 4.52.3 → 4.52.4
  • Improvement

    • Improved WebView handler reliability.
  • Bug fix

    • Fix a crash occurring when using Autocapture alongside Redux Saga.
  • Bug fix
    • Fix a bug in the CSMask component that occurs in debug environments when using React Native 0.87.x.
  • Native SDKs:

    • iOS: 4.52.1 → 4.52.3
  • Bug fix

    • Improve support for React Native 0.87.x.
  • Native SDKs:

    • Android: 4.51.2 → 4.52.1
    • iOS: 4.51.1 → 4.52.1
  • Autocapture

    • Improve instrumentor support for default-exported classes and functions. Fixes an issue encountered when using Expo 56 alongside React Native Gesture Handler.
  • Native SDKs:
    • iOS: 4.51.0 → 4.51.1
  • Native SDKs:
    • Android: 4.51.0 → 4.51.2
  • Native SDKs:

    • Android: 4.50.0 → 4.51.0
    • iOS: 4.50.0 → 4.51.0
  • WebViews Bug fix

    • Android: Fixed an issue when navigating back within WebViews
  • Native SDKs:

    • Android: 4.44.1 → 4.50.0
    • iOS: 4.46.3 → 4.50.0
  • Session Replay

    • Support Image/Text remote masking configuration in the CSQ Console
  • Native SDKs:
    • Android: 4.44.0 → 4.44.1
    • iOS: 4.46.0 → 4.46.3
  • Bug fix
    • Fixed a duplicate hasListener symbol conflict with third-party libraries
  • WebViews
    • Removed unnecessary super calls in bridge handlers
  • Removed the upper version limit for the React Native peer dependency. The Contentsquare SDK has been validated up to React Native version 0.85.
  • Native SDKs:
    • Android: 4.43.8 → 4.44.0
    • iOS: 4.45.1 → 4.46.0
  • Bug fix
    • Fixed iOS module headers to ensure compatibility with CocoaPods projects using use_frameworks! :linkage => :static.
    • Fixed 0.82.x Session Replay compatibility issues
  • Official support for React Native up to 0.84.x
  • Native SDKs:

    • Android: 4.43.3 → 4.43.8
  • Bug fix

    • Fixed a crash in Android WindowCallbackWrapper
  • Bug fix
    • WebViews: Fixed an issue with the userAgent prop being overwritten
  • Bug fix
    • Changed the default value of disableInteractionAutocapture to false to re-enable interaction capture by default
  • Fixed an issue with pod installation failing on React Native versions below 0.80
  • Official support for React Native up to 0.82.x
  • Native SDKs:
    • iOS: 4.43.3 → 4.45.1
    • Android: 4.43.2 → 4.43.3
  • Fixed a crash in Android WebViews when loading pages with SSL certificates
  • Native SDK:

  • Official support for React Native up to 0.81.x

  • Added support for react-native-linear-gradient library on iOS

  • Fixed iOS new architecture module headers to ensure compatibility with CocoaPods projects using use_frameworks! :linkage => :static.

  • Fixed missing logging methods
  • Fixed missing declaration files
  • Official support for React Native up to 0.80.x and the New Architecture ↗.

  • Native SDKs:

  • Breaking Changes:

    • Webviews: New WebView injection method.

      Starting with 5.0.0, wrap your WebView inside the <CSWebView/> component. The implementation using the renderWebView attribute is no longer available.

      import React from "react";
      import { WebView } from "react-native-webview";
      import { CSWebView } from "@contentsquare/react-native-bridge";
      const WebviewWithTagScreen = () => {
      return (
      // Removed — this implementation is no longer available starting with V5.0.0
      <CSWebView
      url="https://www.mywebpage.com"
      renderWebView={(onLayout, webViewUrl) => {
      return (
      <WebView
      onLayout={onLayout}
      source={{ uri: webViewUrl }}
      />
      );
      }}
      />
      <CSWebView>
      <WebView source={{ uri: "https://www.mywebpage.com" }} />
      </CSWebView>
      );
      };
      export default WebviewWithTagScreen;
    • Transactions: To send transactions with String type currencies, use sendTransactionWithStringCurrency instead of sendTransaction which has been removed.

      import Contentsquare, { Currency } from "@contentsquare/react-native-bridge";
      Contentsquare.sendTransactionWithStringCurrencysendTransaction(10.99, "USD");
      Contentsquare.sendTransactionWithStringCurrencysendTransaction(200.99, "eur", "my_transaction_2");
    • Session Replay: To subscribe to Session Replay link changes, use getCurrentSessionReplayLink instead of onSessionReplayLinkChange which has been removed.

      const link = await Contentsquare.getCurrentSessionReplayLink();
      useEffect(() => {
      const subscriber = Contentsquare.onSessionReplayLinkChange((link) => {
      currentSessionReplaylink = link;
      });
      return () => {
      if (subscriber) {
      subscriber.remove();
      }
      };
      }, []);
  • Dropped support for React Native versions < 0.71.

  • Bug fix: Prevented a crash when the new architecture is enabled. Learn more about compatibility with the new architecture in React Native.

Session Replay

  • Full masking configuration by App/SDK version in the CSQ Console
  • Bug fix: iOS - Fix a crash in the Error Analysis module occurring on React Native 0.76.x
  • Native SDKs:

  • Official support for React Native up to 0.76.x

  • Simpler implementation method for CSWebView

  • Bug fix: iOS - Prevents text duplication in Session Replay when using react-native-linear-gradient and @react-native-masked-view/masked-view packages.

  • Native SDKs:

  • iOS

    • Added support for the react-native-linear-gradient library
  • Track transactions

    • Enhancements to the sendTransaction method
    • ⛔️ DEPRECATED sendTransactionWithStringCurrency: use sendTransaction instead
  • Error Analysis

    • Collect information for crashes in React Native
  • Native SDKs:

  • Official support for React Native up to 0.75.x

  • Bug fix: Android - Resolved an issue where navigating back in the webview history would result in a white screen

  • Bug fix: Android - Fixed a crash issue when manually initializing the SDK

  • Bug fix: Fixing an issue with source and URL prop changes in CSWebView

🚨 Minimum React Native version announcement

Starting with this release, Contentsquare Bridge for React Native will require React Native version to be 0.70 or later

  • Native SDKs:

  • Bug fix: Fixing an issue where occasionally closing a WebView freezes the view.

4.1.0 - 2024.01.17 [⛔️ DEPRECATED]

Section titled 4.1.0 - 2024.01.17 [⛔️ DEPRECATED]
  • Bug fix: URL injection method in WebView
  • Official support for React Native up to 0.73.x
  • BREAKING CHANGE: New WebView injection method. Refer to new documentation to check implementation Track WebViews

3.10.0 - 2023.12.21 [⛔️ DEPRECATED]

3.9.0 - 2023.11.28

3.8.0 - 2023.11.06

  • Native SDKs:

  • Session Replay

    • Added a new method setUserIdentifier
  • Bug fix: Fixed a bug on Android when using the start method

  • Bug fix: Fixed a bug on Android when using the CSMask

3.7.1 - 2023.10.04 [⛔️ DEPRECATED]

  • Bug fix: Fixed a crash that occurred when manually starting the application while InApp features were active

3.7.0 - 2023.09.19 [⛔️ DEPRECATED]

3.6.1 - 2023.08.25

  • Support use_frameworks! in Podfile

3.6.0 - 2023.08.02

  • Native SDKs:

  • Official support for React Native up to 0.72.x

  • Bug fix: Fixed WebView Injection on Android - there was an issue with WebView injection failing during the initial visit of a WebView

  • Bug fix: Fixed CSMask - there was an issue with CSMask impacting the screen layout

  • Zoning analysis: Reliable targets feature is now available on iOS

  • Session Replay: Collecting gesture events is now available on iOS

  • Error Analysis:

    • Enabled collection of failed network requests (API Errors)
    • Enabled collection of API Error troubleshooting details (Available in the Session Replay)
    • Added a method to mask API errors using template URL ErrorAnalysis.setUrlMaskingPatterns

3.5.0 - 2023.06.22

3.4.1 - 2023.06.07

  • Fix a bug where React Native project with version below 0.70 couldn't find CSMask import.

3.4.0 - 2023.05.19

3.3.1 - 2023.05.02

  • Fix of an Xcode 14 issue

3.3.0 - 2023.04.03

  • Custom Variables: The Custom Variables feature is now supported by the bridge (for iOS only, beta version).
  • Adding masking component for future Session Replay feature (WIP)

3.2.0 - 2023.03.08

  • The Bridge uses iOS native SDK 4.20.0
  • Official support for React Native up to 0.71.x
  • Add error callback to dynamic variables method

3.1.0 - 2023.01.12

3.0.0 - 2022.12.12

  • Upgrade maximum React Native version compatibility to 0.70.x
  • BREAKING CHANGE: New WebView injection method

2.8.0 - 2022.12.01

2.7.0 - 2022.08.03

2.6.0 - 2022.05.10

2.5.3 - 2022.04.19

  • Fix unreliable WebView injection.
  • Official support for React Native up to 0.67.x

2.5.2 - 2022.2.16

  • Fixing a crash caused by WebViews in some specific cases.

2.5.1 - 2022.1.21

2.5.0 - 2022.1.18

2.4.0 - 2021.11.18

2.3.0 - 2021.09.02

2.2.1 - 2021.07.08

2.2.0 - 2021.06.28

2.1.0 - 2021.03.11

2.0.0 - 2020.11.03

1.1.1 - 2020.08.26

1.1.0 - 2020.08.21

1.0.0 - 2020.04.23

  • The bridge is now available at @contentsquare/react-native-bridge.
  • The Bridge uses Android native SDK 3.1.0 and iOS native SDK 3.1.1
  • Bridge only supports React Native >=0.60
  • Dynamic Variables are supported

@contentsquare/react-native-cli

Section titled @contentsquare/react-native-cli

See CLI configuration for configuration details.

Breaking Change: The CLI package name has changed from @contentsquare/cli to @contentsquare/react-native-cli ↗. If you already have the CLI installed:

  1. Update the package name in your package.json:

    "devDependencies": {
    "@contentsquare/cli": "<file_path_to_the_downloaded_.tgz_package>",
    "@contentsquare/react-native-cli": "1.0.0",
    }
  2. Update the paths in your source maps upload configuration:

    android/app/build.gradle
    apply from: "../../node_modules/@contentsquare/cli/scripts/contentsquare.gradle"
    apply from: "../../node_modules/@contentsquare/react-native-cli/scripts/contentsquare.gradle"
  • Fix support for Gradle 9+