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