DeployPulse

Expo Setup

@deploypulseio/react-native-code-push includes an Expo config plugin that configures all native files automatically during expo prebuild / eas build. No manual Xcode or Android Studio changes required.

Requirements: Expo SDK 52+, React Native 0.76+

Configure app.json

{
  "expo": {
    "plugins": [
      [
        "@deploypulseio/react-native-code-push",
        {
          "ios": { "CodePushDeploymentKey": "YOUR_IOS_KEY" },
          "android": { "CodePushDeploymentKey": "YOUR_ANDROID_KEY" }
        }
      ]
    ]
  }
}

The server URL defaults to https://api.deploypulse.io — no further configuration needed.

Retrieve your deployment keys with:

dpctl deployment list <AppName>

Run prebuild

npx expo prebuild
# or let EAS Build handle it automatically

What the plugin configures

iOS (Info.plist):

  • CodePushDeploymentKey
  • CodePushServerURL = https://api.deploypulse.io

iOS (AppDelegate):

  • Adds import CodePush
  • Replaces bundleURL() with CodePush-aware version

Android (strings.xml):

  • CodePushDeploymentKey
  • CodePushServerUrl = https://api.deploypulse.io

Android (MainApplication.kt):

  • Adds CodePush imports
  • Initializes CodePush in onCreate()
  • Adds getJSBundleFile() override

Android (app/build.gradle):

  • Appends apply from: ".../codepush.gradle"

Override server URL

To point at a custom server (e.g. self-hosted):

{
  "expo": {
    "plugins": [
      ["@deploypulseio/react-native-code-push", {
        "serverUrl": "https://your-server.example.com",
        "ios": { "CodePushDeploymentKey": "YOUR_IOS_KEY" },
        "android": { "CodePushDeploymentKey": "YOUR_ANDROID_KEY" }
      }]
    ]
  }
}

Next step

Return to the React Native SDK page for usage and notifyAppReady instructions.