Migrate React Native plug-ins

When migrating your app to the latest React Native SDK version from SDK versions 3.8.0 and above, complete the following basic migration steps.

Plug-in migration

  1. Remove the existing SDK plug-ins that are currently installed. If you do not have one of the plug-ins installed, you don’t need to run the command to remove it.
npm install

npx react-native unlink react-native-acoustic-mobile-push
npx react-native unlink react-native-acoustic-mobile-push-beacon
npx react-native unlink react-native-acoustic-mobile-push-calendar
npx react-native unlink react-native-acoustic-mobile-push-displayweb
npx react-native unlink react-native-acoustic-mobile-push-geofence
npx react-native unlink react-native-acoustic-mobile-push-inapp
npx react-native unlink react-native-acoustic-mobile-push-inbox
npx react-native unlink react-native-acoustic-mobile-push-location
npx react-native unlink react-native-acoustic-mobile-push-snooze
npx react-native unlink react-native-ios-notification-service

npm uninstall react-native-acoustic-mobile-push
npm uninstall react-native-acoustic-mobile-push-beacon
npm uninstall react-native-acoustic-mobile-push-calendar
npm uninstall react-native-acoustic-mobile-push-displayweb
npm uninstall react-native-acoustic-mobile-push-geofence
npm uninstall react-native-acoustic-mobile-push-inapp
npm uninstall react-native-acoustic-mobile-push-inbox
npm uninstall react-native-acoustic-mobile-push-location
npm uninstall react-native-acoustic-mobile-push-snooze
npm uninstall react-native-ios-notification-service
  1. Now install the latest SDK plug-ins, replacing <path to download> with the location of the latest SDK download. You only need to reinstall the plug-ins you previously used.
npm install <path to download>/plugins/react-native-acoustic-mobile-push
npm install <path to download>/plugins/react-native-acoustic-mobile-push-beacon
npm install <path to download>/plugins/react-native-acoustic-mobile-push-calendar
npm install <path to download>/plugins/react-native-acoustic-mobile-push-displayweb
npm install <path to download>/plugins/react-native-acoustic-mobile-push-geofence
npm install <path to download>/plugins/react-native-acoustic-mobile-push-inapp
npm install <path to download>/plugins/react-native-acoustic-mobile-push-inbox
npm install <path to download>/plugins/react-native-acoustic-mobile-push-location
npm install <path to download>/plugins/react-native-acoustic-mobile-push-snooze
npm install <path to download>/plugins/react-native-ios-notification-service

npx react-native link react-native-acoustic-mobile-push
npx react-native link react-native-acoustic-mobile-push-beacon
npx react-native link react-native-acoustic-mobile-push-calendar
npx react-native link react-native-acoustic-mobile-push-displayweb
npx react-native link react-native-acoustic-mobile-push-geofence
npx react-native link react-native-acoustic-mobile-push-inapp
npx react-native link react-native-acoustic-mobile-push-inbox
npx react-native link react-native-acoustic-mobile-push-location
npx react-native link react-native-acoustic-mobile-push-snooze
npx react-native link react-native-ios-notification-service

📘

Tip:

You can also successfully remove and reinstall the same version if needed.

iOS project changes

  1. Open the project in Xcode, select the project’s General tab and drag the AcousticMobilePush.xcframework into the Frameworks, libraries, and embedded content section. Verify that Embed and sign is selected in the dropdown.
  2. Select the Build settings tab.
  3. Search for Framework Search Paths, double click on setting value, and drag in enclosing folder of the AcousticMobilePush.xcframework.

Android project changes

  1. Open project in Android Studio.
  2. You may need to invalidate caches and restart Android Studio.
  3. You may also need to adjust the MainApplication.java file due to bugs in React Native’s unlink implementation.

📘

Note:

React Native does not yet support dark mode. There are multiple plug-ins that aim to fill that void and the main project also intends to provide support in the future. However, none of these options are ready today.


Did this page help you?