Overview

Skill Level: Intermediate

Prerequisites

Not what you’re looking for? Check out all our available tutorials for mobile app messaging here.

Step-by-step

  1. Plugin Migration

    1. First remove the existing SDK plugins that are currently installed. If one of these is not currently installed, you don’t need to execute 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
    
    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
    

    2. Modify AndroidManifest.xml. Remove all nodes of the type <service>, <receiver>, <provider> with the android:name starting with com.ibm.mce.sdk or co.acoustic.mobile.push.

    3. Now install the 3.8.0 new SDK plugins, replacing <path to download> with the location of the 3.8.0 SDK download. You only need to reinstall the plugins 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
    
    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
    
  2. iOS project changes

    1. Open Project in Xcode, select project’s General tab and drag the AcousticMobilePush.framework into the Frameworks, libraries and embedded content section. Verify that Embed and sign is selected in 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.framework.

  3. Android project changes

    1. Open project in Android Studio.

    2. Note: You may need to invalidate caches and restart Android Studio. You may also need to adjust MainApplication.java file due to bugs in React Native’s unlink implementation.

  4. Dark Mode

    React Native does not yet support dark mode. There are multiple plugins 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.

Expected outcome

Need more help? Check out all of our available tutorials for mobile app messaging here.

Join The Discussion

Your email address will not be published. Required fields are marked *