1. Help Center
  2. Phrase Over the Air (OTA)

Phrase Over the Air - Introduction

Publish translation updates to iOS, Android, React Native and Flutter apps effortlessly with Phrase Over the Air (OTA).

Phrase lets you update translations for your iOS, Android, React Native and Flutter applications with a single click. No need to release a new version to the App Store or Google Play. Phrase lets you push updates for text labels in your mobile apps instantly:



Install the appropriate SDK to connect your app with Phrase:


Get started with Phrase Over the Air by creating your first distribution. Within a distribution you can define the target platforms (i.e. iOS, Android, Flutter, React Native). You can have multiple distributions but typically you will have one distribution per project. If you are using a distribution for iOS and Android, our placeholder conversion will convert placeholders between the two formats automatically.

To create a distribution, simply visit the Integrations section via the blue navigation bar at the top of your dashboard. You can now see that Over the Air (OTA) is listed as the second entry of the entire integrations list. Simply click on Configure to access the OTA overview page. Alternatively, you can go there directly via the Over the Air tab in your navigation bar. If you haven't created a distribution yet, this would look something like this.

Here you can create your distributions and later access and manage each of them. Click Create Distribution and enter the required information.

For an Android distribution you can toggle the format option that encloses any translation including HTML tags in CDATA.

Under Settings you also have the option to select some fallback scenarios that come into play when a device language cannot be served. The options are the following:

  • If a language fallbacks are set in the language settings (Advanced tab) in the project the distribution is connected to, strings from the language selected there will be shown if the requested language exists but the key is not translated for that language.
  • If a country-specific language (e.g en-GB) is used, but not part of the release, the system can fall back on a standard version (e.g. en) of that language if it exists in the project.
  • If the language requested is not found at all, the default locale of your Phrase project can be served instead.
You can combine all options. In that case they will be prioritised in the order listed here.

You can also enforce that only reviewed versions of translations are included, see Advanced Review Workflow.

Clicking on Save will automatically lead you to the overview page of this distribution, where you can find the respective Distribution ID as well as development and production secret. Use the distribution ID and the specific environment secret to address a distribution within the SDK.


To update translations, simply create a new release within the distribution. This will export the current state of your project and make it available to the connected clients. For each release you can specify:

Environment: Decide whether the release is for development only or should be pushed to production
Version range: Define which version of your app should receive the update
Platform: Publish an update to either Android, iOS, React Native or Flutter or all four (presumed that you have a distribution with the respective platforms activated)


Can I use Phrase Over the Air on-premise?

For the time being, this is not possible. We will keep you informed as soon as we're working on it. Please contact us for further information on Over the Air on-premise.

What platforms do you support?

Phrase Over the Air currently supports delivering translations to iOS, Android, React Native and Flutter. If you want to use it with other platforms and formats, please contact us.

Can I use Phrase Over the Air directly with frameworks like, React Native and Ionic?

At this time,  the Phrase Over the Air SDKs are available for iOS, Android, React Native and Flutter apps.

Do you collect usage metrics?

We do collect certain metrics to calculate the usage of the feature. Just have a look at this article.

What constitutes a Monthly Active User (MAU)?

When a user starts an application implementing our iOS, Android, React Native or Flutter SDK for the first time on a device, we generate a unique, random Device Identifier. This identifier's sole purpose is the tracking of active users over a given period of time. It is not used for any other form or means of tracking and does not contain any user or device information. 

Each Phrase plan allows for a certain amount of Monthly Active Users (MAU), this is the total number of unique Device Identifiers that query our servers in a given month.

If you need a custom quota, please get in touch with our Sales team on sales@phrase.com

Also, we will not automatically lock your organization or OTA functionality when you exceed your MAU quota, but instead reach out to explore options going forward.

Why are changes in my distribution settings not reflected in the current release?

You need to create a new release in order for the updated settings to be applied.

Is there a limit for the amount of releases I can create?

No. The only limit regarding OTA is the amount of MAU (monthly active users), depending on which pricing plans you have chosen.