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)をアプリケーションに統合する必要があります。
ヒント
配布、リリース、およびAPIリファレンスの詳細については、Developer Hubを参照してください。
iOS、Android、React Native、またはFlutter SDKを実装したアプリケーションをデバイスで初めて起動すると、一意のランダムなデバイス識別子が生成されます。この識別子は、特定の期間におけるアクティブユーザーを追跡します。他の形式や追跡手段には使用されず、ユーザーやデバイスの情報は含まれません。
OTAリクエストの数および月間アクティブユーザー数 (MAU) は、選択した料金プランに応じてが適用されます。
MAUとは、翻訳がリクエストされた一意のデバイスの数です。各デバイスにはランダムなIDが割り当てられます。MAUは、過去30日間に割り当てられた一意のIDの数に基づいて計算されます。Phrase サーバーとのすべてのやり取りは、1つのリクエストとみなされます。
OTAリクエストで送信されるデータ
SDKは、アップデートを確認するためにOTAサービスと通信し、各リクエストに以下の詳細を含めます。
-
デバイス識別子(例:"F3AFCB10-80A2-84CB-94C0-27F5EF58876D"。このアプリ固有のものであり、特定のデバイスを追跡することはできません。)
-
アプリのバージョン(例:)## 4.
-
翻訳ファイルの最終更新日(例:)## 4.
-
SDKのバージョン(例:)## 4.
-
ロケール(例:"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プロジェクトにつき1つの配信が推奨されます。iOSとAndroidで配信を使用する場合、2つの形式のプレースホルダーは自動的に変換されます。
権限
OTA配信とリリースの管理は、プロジェクトの割り当て範囲内で行われます。ユーザーは、自身が割り当てられているプロジェクトでのみこれらを管理できます。
オーナー、管理者、プロジェクトマネージャー、開発者、およびデザイナーのロールは、デフォルトでOTA配信とリリースへのフルアクセス権を持っています。翻訳者のロールにはアクセス権がありません。
オーナーと管理者は、すべてのプロジェクトにアクセスできます。
ユーザーが配信を作成するには、その前に配信を管理するためのアカウントレベルの権限が必要です。新しい配信は、ユーザーがアクセスできるプロジェクトにのみ関連付けられます。
より詳細な制御が必要な場合、エンタープライズのお客様はカスタムロールについてサポートチームにお問い合わせください。
フォールバック
配信が接続されているプロジェクトの言語設定で言語フォールバックが設定されている場合、要求された言語が存在するもののキーが翻訳されていないときは、選択した言語の文字列が表示されます。
国別の言語(例:en-GB)が使用されているにもかかわらずリリースに含まれていない場合、その言語の標準バージョン(例:en)がプロジェクト内に存在すれば、システムはそのバージョンにフォールバックできます。要求された言語が全く見つからない場合は、代わりにプロジェクトのデフォルトロケールを提供できます。
フォールバックはリンクされたキーでは機能しません。
配布を作成する
配布を作成するには、以下の手順に従ってください。
-
「」ページのボックスから、設定が既に存在する場合はその設定数を、存在しない場合はConfigureをクリックしてください。
ページが開き、既存の設定が表示されます。
-
New distributionをクリックします。ウィンドウが開きます。
-
Generalタブで、、配布に関連付ける、必要な、および必要なを指定します。
-
Android配布の場合は、Androidタブをクリックして、必要に応じてHTMLタグを含む翻訳をCDATAで囲むフォーマットオプションを選択します。
-
配布に関連付けるプロジェクトを選択すると、Schedulingタブが利用可能になります。必要に応じて、このタブを使用して、配布内の機能を使い、OTAリリースのスケジュールを設定してください。
-
-
Fallback languagesタブで、必要に応じて配布固有のフォールバック設定を選択します。フォールバックオプションは、リストに表示されている順に優先順位が付けられます。
-
オプションとして、Translationsタブをクリックして、最新のレビュー済み翻訳バージョンを使用するオプションを選択できます。このオプションは、高度なレビューワークフローを使用している場合にのみ有効にしてください。
-
保存をクリックします。
配布の詳細は、SDKで必要なIDとともに表示されます。詳細は、ページから配布をクリックすることで再度表示できます。
翻訳を更新するには、配布内で新しいリリースを作成します。プロジェクトの現在の状態がエクスポートされ、接続されたクライアントが利用できるようになります。
リリースを作成するには、次の手順に従ってください。
-
Over the airページから、必要な配信の横にある「Add release」をクリックします。
ウィンドウが開きます。
-
、必要な、、、およびを入力します。
配信の言語リストにまだ追加されていないロケールは、選択されていない状態で表示され、選択できません。将来のリリースで選択できるように、必要な言語を配信に追加してください。
リリース作成時にロケールが手動で選択されていない場合、配信で構成されているすべてのロケールがデフォルトでリリースに含まれます。
必要に応じて、特定のタグを持つキーのみをリリースに含めるためのタグを入力します。リリースにタグフィルターを追加すると、そのタグが付いたキーのみが含まれます。タグのないキーはリリースから完全に除外され、接続されたアプリはそれらのキーに対して、コードベースにローカルでバンドルされている静的翻訳ファイルにフォールバックします。タグのフィルタリングはブランチとは独立して機能します。ブランチが有効な場合はブランチと関連するタグを選択し、ブランチが有効でない場合は関連するタグのみを選択してください。
-
保存をクリックします。
リリースは、配信詳細ページの下部にあるリストに追加されます。
配信をリリースするための定期的なスケジュールを設定するには、次の手順に従ってください。
-
ページから、必要な配信の横にある歯車
アイコンをクリックします。
ウィンドウが表示されます。
-
Schedule releaseタブを選択し、をクリックします。
リリーススケジュールのオプションが表示されます。
備考
新しい配信の作成時()にも、スケジュールオプションが利用可能です。
-
ドロップダウンから、利用可能なオプションを選択してリリース頻度を指定します。
-
-
スケジュールされたリリースの希望する曜日を選択します。
-
-
時刻と関連する を指定します。
-
必要に応じて、スケジュールされたリリース用の 、、 を選択します。
-
フィールドは、プロジェクトでブランチ機能が有効になっている場合にのみ表示されます。ブランチを選択すると、ロケールと言語のリストが更新されます。
-
-
オプションで、 および フィールドにアプリケーションのバージョンを指定します。
空欄のままにすると、スケジュールされたリリースがアプリのすべてのバージョンに適用されます。
-
保存をクリックします。
配信は、リリーススケジュールの情報で更新されます。
スケジュールを無効にすると、配信の自動リリースは停止しますが、設定内容は保存されます。
備考
Strings UIには、OTAを一時停止または一時的に無効にするオプションはありません。アプリによる翻訳の取得を停止するには、アプリのOTA設定から配信IDを削除します。OTAを再開するには、IDを元に戻してください。最終手段として、配信を削除して新しく作成してください。
適切なモバイルSDKまたはWebライブラリを統合することで、ワンクリックで翻訳を更新できるだけでなく、使用状況を測定するための指標も得られます。モバイルSDKおよびWebライブラリのレポートは、アクティブなアプリユーザーとそのアプリの言語に関する貴重な洞察を提供します。このレポートセットは各配信で利用可能であり、データは1日2回更新されます。
レポートには、アクティブユーザー数、リクエスト総数、言語別リクエスト数、プラットフォーム別リクエスト数、および提供されていないデバイス言語に関する情報が含まれます。
各配信のレポートには、 ページの アイコンからアクセスします。
これらのレポートに表示されるアクティブユーザー数は、固定のカレンダーや請求サイクル期間ではなく、現在の日付に基づく過去30日間のローリングウィンドウを反映しています。
OTA SDKを統合するための技術ドキュメントは、各プロジェクトリポジトリのREADMEファイルで確認できます。