Skip to content

SDK configuration

The SDK reads its configuration from native files: Info.plist on iOS, strings.xml on Android.

The key ties the app binary to one deployment channel. Print yours with aether deployment ls MyApp -k.

iOS, in Info.plist:

<key>CodePushDeploymentKey</key>
<string>YOUR_DEPLOYMENT_KEY</string>

Android, in strings.xml:

<string moduleConfig="true" name="CodePushDeploymentKey">YOUR_DEPLOYMENT_KEY</string>

Aether-prefixed names (AetherDeploymentKey, AetherServerURL, AetherPublicKey) are accepted as aliases for the CodePush-prefixed ones. When both are present, the CodePush key wins.

The JavaScript side can override the key per call or per wrapper with the deploymentKey option, which is how one build can check a different channel, for example in a staging toggle for testers.

The SDK talks to https://api.aetherpush.com by default. To point at another server, set CodePushServerURL on iOS or CodePushServerUrl on Android (note the different casing). There is no JavaScript override for the URL.

serverPathMode is a JavaScript option, not native configuration:

  • "aether" (default) uses the canonical paths under /v1/public/aether/.
  • "codepush-legacy" uses the legacy paths under /v0.1/public/codepush/, for servers that only speak the CodePush protocol.
export default CodePush({ serverPathMode: "codepush-legacy" })(App);

The mode is static. The SDK never probes or falls back between path styles at runtime.

For signed releases, add your public key as CodePushPublicKey. Details in SDK code signing.