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):
CodePushDeploymentKeyCodePushServerURL=https://api.deploypulse.io
iOS (AppDelegate):
- Adds
import CodePush - Replaces
bundleURL()with CodePush-aware version
Android (strings.xml):
CodePushDeploymentKeyCodePushServerUrl=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.
