Quickstart
Go from zero to remotely managed strings: create a project, publish your first string with the CLI, and see it update live in your app.
Sign up
Create your account at app.airstrings.com. Signing up creates your organization.
Create a project and environment
In the dashboard, create a project for your app, then add an environment, for example production. Environments keep separate copies of your strings, so you can iterate in staging and promote to production when you're ready.
Copy your SDK configuration
Open Project Settings > SDK Configuration and copy:
- your API key, used by the CLI
- the organization, project, and environment IDs
- the public key, used by the SDKs to verify published bundles
You'll use all of these in the next two steps.
Publish your first string with the CLI
Install the CLI:
npm install -g @airstrings/clibrew install symbionix-sl/airstrings/airstringsThen initialize a workspace in your project directory:
airstrings init ask_live_xxxxxxxxxxxxinit validates the API key, detects your project and environments, and stores everything in .airstrings/config.json.
Create a string and publish it:
airstrings strings set welcome.title --format text --push en="Welcome to AirStrings"
airstrings publish enYour en bundle is now signed and live.
Add the SDK to your app
Add the package in Xcode (File > Add Package Dependencies) or in Package.swift:
dependencies: [
.package(url: "https://github.com/symbionix-sl/airstrings-sdk-ios.git", from: "1.1.1")
]Create an AirStrings instance at app launch and read your string:
import AirStrings
let airStrings = AirStrings(configuration: .init(
organizationId: "org_a1b2c3d4e5f6",
projectId: "proj_a1b2c3d4e5f6",
environmentId: "env_a1b2c3d4e5f6",
publicKeys: ["BASE64_ED25519_PUBLIC_KEY"]
))
let title = airStrings["welcome.title"]SwiftUI injection, ICU formatting, and caching details are in the iOS SDK guide.
Add JitPack to your repositories in settings.gradle.kts, then add the dependency:
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven("https://jitpack.io")
}
}dependencies {
implementation("com.github.symbionix-sl:airstrings-sdk-android:v1.1.1")
}Create an AirStrings instance and read your string:
import com.airstrings.sdk.AirStrings
import com.airstrings.sdk.AirStringsConfiguration
val config = AirStringsConfiguration(
organizationId = "org_a1b2c3d4e5f6",
projectId = "proj_a1b2c3d4e5f6",
environmentId = "env_a1b2c3d4e5f6",
publicKeys = listOf("BASE64_ED25519_PUBLIC_KEY"),
)
val airStrings = AirStrings.create(applicationContext, config)
val title = airStrings["welcome.title"]Compose integration, ICU formatting, and caching details are in the Android SDK guide.
Install the package:
npm install @airstrings/webCreate an AirStrings instance and read your string:
import { AirStrings } from '@airstrings/web'
const airstrings = new AirStrings({
organizationId: 'org_a1b2c3d4e5f6',
projectId: 'proj_a1b2c3d4e5f6',
environmentId: 'env_a1b2c3d4e5f6',
publicKeys: ['BASE64_ED25519_PUBLIC_KEY'],
locale: 'en',
})
const title = airstrings.t('welcome.title')Update events, ICU formatting, and caching details are in the Web SDK guide.
0.x): its public API may change in a minor release. iOS, Android, and Web are stable 1.x.Install the package and its AsyncStorage peer dependency:
npm install @airstrings/react-native @react-native-async-storage/async-storageCreate an AirStrings instance and read your string:
import { AirStrings } from '@airstrings/react-native'
const airstrings = new AirStrings({
organizationId: 'org_a1b2c3d4e5f6',
projectId: 'proj_a1b2c3d4e5f6',
environmentId: 'env_a1b2c3d4e5f6',
publicKeys: ['BASE64_ED25519_PUBLIC_KEY'],
locale: 'en',
})
const title = airstrings.t('welcome.title')React bindings, ICU formatting, and caching details are in the React Native SDK guide.
Strings load asynchronously: until the first verified bundle arrives, lookups fall back to the key name. Once loaded, strings are cached on device and keep working offline.
Change it live
Update the string and publish again:
airstrings strings set welcome.title --format text --push en="Hello from the cloud"
airstrings publish enSend your app to the background and bring it back to the foreground (or refocus the browser tab). The SDK refreshes, verifies the new bundle, and your UI shows the new copy. No rebuild, no release.
Introduction
AirStrings is remote string management for apps: edit copy in a dashboard or from the CLI and ship it to users without an app release.
Projects, Environments, and Promotion
How organizations, projects, and environments organize your strings, and how promotion moves changes between environments without retyping.