Over-the-Air (OTA)アップデートは、App Store、Google Play、またはその他のデプロイメントプラットフォームでの新しいリリースを必要とせずに、モバイルおよびWebアプリケーションに翻訳アップデートを納品するための柔軟な方法を提供します。このアプローチは、遅延や手動プロセスを削減することで、継続的なローカライズとアジャイル開発ワークフローをサポートします。
Phrase StringsのOTA機能は、iOS、Android、React Native、Flutter、i18next、およびRailsプラットフォームと統合されています。テキストラベルのアップデートは、モバイルアプリに即座にプッシュされます。
更新された設定を適用するには、新しいリリースを作成するオーダーが必要です。リリースに含まれるすべてのコンテンツはPhrase Stringsで利用可能である必要があり、そこからアプリケーションに直接翻訳がストリーミングされます。コンテンツが存在しない場合、翻訳は納品されません。
モバイルアプリケーションの場合、OTAには、実行時にPhrase Stringsから翻訳を取得するために、関連するソフトウェア開発キット(SDK)をアプリケーションに統合する必要があります。
iOS、Android、React Native、またはFlutter SDKを実装したアプリケーションをデバイスで初めて起動すると、一意のランダムなデバイスIDが生成されます。このIDは、一定期間内のアクティブユーザーを追跡します。他の形式や追跡手段には使用されず、ユーザーやデバイスの情報は含まれません。
OTAリクエストの数と月間アクティブユーザー数(MAU)は、選択した価格プランに応じて制限されます。
MAUとは、翻訳がリクエストされた一意のデバイスの数です。各デバイスにはランダムなIDが割り当てられます。MAUは、過去30日間に割り当てられた一意のIDの数に基づいて計算されます。Phraseサーバーとのすべてのやり取りがリクエストとみなされます。
OTAリクエストで送信されるデータ
SDKは、アップデートを確認するためにOTAサービスと通信し、各リクエストに以下の詳細を含めます。
-
デバイスID(例:"F3AFCB10-80A2-84CB-94C0-27F5EF58876D".このアプリに固有のものであり、特定のデバイスを追跡することはできません。)
-
アプリのバージョン(例:"1.2.0")
-
翻訳ファイルの最終更新(例:"1542187679")
-
SDKのバージョン(例:"1.0.0")
-
ロケール(例:「de-DE」)
-
ファイル形式(例:「Strings」)
-
クライアント(例:「ios」)
-
配信 ID(配信のID)
-
環境シークレット(開発環境と本番環境を区別するため)
SDKで使用されるドメイン:
EUデータセンター
-
ota.eu.phrase.com
-
cdn.eu.phrase.com
-
ota.phraseapp.com
-
cdn.phraseapp.com
USデータセンター
-
ota.us.phrase.com
-
cdn.us.phrase.com
Phrase OTA SDKは、OTA APIが利用できない場合でもアプリが機能し続けるように設計されています。このような場合、SDKはデバイスに保存されている最後に正常に取得された翻訳、またはアプリパッケージに含まれているバンドルされた翻訳にフォールバックします。これにより、エンドユーザーに対するエラーやStringsの欠落を防ぎます。信頼性の高いフォールバックを保証するために、バンドルされた翻訳はアプリリリースのたびに最新の状態に保つ必要があります。
ディストリビューションは、特定のプラットフォームまたはプロジェクトに対してOTA更新をどのように、どこに配信するかを定義する構成済みのセットアップです。
訳文プラットフォームはディストリビューション内で定義されます:
-
iOS
-
Android
-
Flutter
-
i18next
-
Rails
複数の配布が可能ですが、理想的には1プロジェクトにつき1つの配布が適しています。iOSとAndroidで配布を使用する場合、2つのファイル形式のプレースホルダーは自動的に変換されます。
フォールバック
配布が接続されているプロジェクトの言語設定で言語フォールバックが設定されている場合、要求された言語が存在するもののキーが翻訳されていないときは、選択した言語のStringsが表示されます。
国別の言語(例:en-GB)が使用されているもののリリースに含まれていない場合、その言語の標準バージョン(例:en)がプロジェクトに存在すれば、システムはそのバージョンにフォールバックできます。要求された言語が全く見つからない場合は、代わりにプロジェクトのデフォルトのロケールを提供できます。
フォールバックはlinked keysでは機能しません。
配布を作成
配布を作成するには、以下の手順に従ってください。
-
ページのボックスから、Configure、またはすでに設定が存在する場合はその数をクリックします。
ページが開き、既存の設定が表示されます。
-
New distributionをクリックします。ウィンドウが開きます。
-
Generalタブで、、配布に関連付ける、必要な、および必要なを指定します。
-
Android配布の場合は、Androidタブをクリックして、必要に応じてHTMLタグを含む翻訳をCDATAで囲むファイル形式オプションを選択します。
-
配布に関連付けるプロジェクトを選択すると、Schedulingタブが使用可能になります。必要に応じて、このタブを使用して配布におけるOTAのリリーススケジュールを設定します。
-
-
Fallback languagesタブで、必要に応じて配布固有のフォールバック設定を選択します。フォールバックオプションは、一覧に表示されている順に優先されます。
-
オプションで、翻訳タブをクリックして、最新のレビュー済翻訳バージョンを使用するオプションを選択します。このオプションは、高度なレビューワークフローを使用する場合にのみ有効にしてください。
-
保存をクリックします。
配布の詳細は、SDKで必要なIDとともに表示されます。詳細は、ページから配布をクリックすることで再度表示できます。
翻訳を更新するには、配布内で新しいリリースを作成します。プロジェクトの現在の状態がエクスポートされ、接続されたクライアントが利用できるようになります。
リリースを作成するには、次の手順に従います。
-
Over the Airページから、必要な配布の横にあるリリースを追加をクリックします。
ウィンドウが開きます。
-
、必要な、、、およびを入力します。
必要に応じて、特定のタグが付いたキーのみをリリースに含めるためのタグを入力します。
-
保存をクリックします。
リリースが配布詳細ページの下部にある一覧に追加されます。
配布をリリースするための定期的なスケジュールを設定するには、次の手順に従います。
-
ページから、必要な配布の横にある歯車
アイコンをクリックします。
ウィンドウが表示されます。
-
リリーススケジュールタブを選択し、をクリックします。
リリーススケジューリングのオプションが表示されます。
備考
スケジューリングオプションは、新規配布の作成時にも利用できます。
-
ドロップダウンから、利用可能なオプションを1つ選択してリリース頻度を選択します。
-
-
スケジュールされたリリースの希望する曜日を選択します。
-
-
時刻と関連する を指定します。
-
必要に応じて、スケジュールされたリリースの 、、 を選択します。
-
フィールドは、プロジェクトでブランチ機能が有効になっている場合にのみ表示されます。ブランチを選択すると、ロケールと言語の一覧が更新されます。
-
-
オプションで、 および フィールドにアプリケーションのバージョンを指定します。
スケジュールされたリリースをアプリのすべてのバージョンに適用するには、空白のままにします。
-
保存をクリックします。
配布は、リリーススケジューリング情報で更新されます。
スケジュールを無効にすると、配布の自動リリースは停止しますが、構成された設定は保存されます。
適切なモバイル SDK または Web ライブラリを統合機能することで、ワンクリックで翻訳を更新できるだけでなく、使用状況を測定するためのメトリクスも提供されます。モバイル SDK および Web ライブラリレポートは、アクティブなアプリユーザーとそのアプリの言語に関する貴重な洞察を提供します。このレポートセットは各配布で利用可能であり、データは1日2回更新されます。
レポートは、アクティブユーザー数、全体のリクエスト数、言語ごとのリクエスト数、プラットフォームごとのリクエスト数、および提供されていないデバイス言語について提供されます。
各配布のレポートには、 ページの アイコンからアクセスします。
OTA SDK を統合機能するための技術ドキュメントは、各プロジェクトリポジトリの README ファイルで入手できます。