Over-the-Air (OTA) アップデートは、App Store、Google Play、またはその他のデプロイメントプラットフォームでの新しいリリースを必要とせずに、モバイルおよびWebアプリケーションに翻訳の更新を配信する柔軟な方法を提供します。このアプローチは、遅延や手作業のプロセスを削減することで、継続的なローカリゼーションとアジャイル開発ワークフローをサポートします。
Phrase StringsのOTA機能は、iOS、Android、React Native、Flutter、i18next、およびRailsプラットフォームと統合されています。テキストラベルの更新は、モバイルアプリに即座にプッシュされます。
更新された設定を適用するには、新しいリリースを作成する必要があります。リリースに含まれるすべてのコンテンツはPhrase Stringsで利用可能である必要があり、そこからアプリケーションに翻訳が直接ストリーミングされます。コンテンツが存在しない場合、翻訳は配信されません。
モバイルアプリケーションの場合、OTAを利用するには、関連するソフトウェア開発キット (SDK)をアプリケーションに統合し、実行時にPhrase Stringsから翻訳を取得する必要があります。
ヒント
配布、リリース、およびAPIリファレンスの詳細については、Developer Hubを参照してください。
iOS、Android、React Native、またはFlutter SDKを実装したアプリケーションをデバイスで初めて起動すると、一意のランダムなデバイス識別子が生成されます。この識別子は、特定の期間におけるアクティブユーザーを追跡します。他の形式や追跡手段には使用されず、ユーザーやデバイスの情報は含まれません。
OTAリクエストの数と月間アクティブユーザー数(MAU)は、選択した料金プランに応じて、が適用されます。
MAUとは、翻訳がリクエストされた一意のデバイスの数です。各デバイスにはランダムなIDが割り当てられます。MAUは、過去30日間に割り当てられた一意のIDの数に基づいて計算されます。Phraseサーバーとのすべてのやり取りがリクエストとみなされます。
OTAリクエストで送信されるデータ
SDKはOTAサービスと通信して更新を確認し、各リクエストに以下の詳細を含めます。
-
デバイス識別子(例:"F3AFCB10-80A2-84CB-94C0-27F5EF58876D"。)このアプリ固有のものであり、特定のデバイスを追跡することはできません。)
-
アプリのバージョン(例:40
-
翻訳ファイルの最終更新日(例:40
-
SDKのバージョン(例:40
-
ロケール(例:"de-DE")
-
ファイル形式(例:"strings")
-
クライアント(例:"ios")
-
Distribution 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つの形式のプレースホルダーは自動的に変換されます。
権限
OTA配信とリリースの管理は、プロジェクトの割り当て範囲内で行われます。ユーザーは、自身が割り当てられているプロジェクトでのみこれらを管理できます。
オーナー、管理者、プロジェクトマネージャー、開発者、およびデザイナーのロールは、デフォルトでOTA配信とリリースへのフルアクセス権を持っています。翻訳者のロールにはアクセス権がありません。
オーナーと管理者は、すべてのプロジェクトにアクセスできます。
ユーザーが配信を作成するには、その前に配信を管理するためのアカウントレベルの権限が必要です。新しい配信は、ユーザーがアクセスできるプロジェクトにのみ関連付けられます。
より詳細な制御が必要な場合、エンタープライズのお客様はサポートチームにカスタムロールについてお問い合わせください。
フォールバック
配信に紐づくプロジェクトの言語設定で言語フォールバックが設定されている場合、要求された言語が存在するものの翻訳が見つからない場合、選択された言語の文字列が表示されます。
国別の言語(例: en-GB)が使用されていてリリースに含まれていない場合、プロジェクト内にその言語の標準バージョン(例: en)が存在すれば、システムはそのバージョンにフォールバックします。要求された言語が見つからない場合は、代わりにプロジェクトのデフォルトロケールが提供されます。
フォールバックは、linked keysでは機能しません。
配布を作成
配布を作成するには、次の手順に従ってください。
-
ページのボックスから、Configure、または既に設定が存在する場合はその設定数をクリックしてください。
ページが開き、既存の設定が表示されます。
-
New distributionをクリックしてください。ウィンドウが開きます。
-
Generalタブで、、関連付ける、必要な、および必要なを指定します。
-
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ファイルに記載されています。