Over-the-Air (OTA)アップデートは、App Store、Google Play、またはその他のデプロイメントプラットフォームでの新しいリリースを必要とせずに、モバイルおよびWebアプリケーションに翻訳アップデートを納品するための柔軟な方法を提供します。このアプローチは、遅延や手動プロセスを削減することで、継続的なローカライズとアジャイル開発ワークフローをサポートします。
Phrase StringsのOTA機能は、iOS、Android、React Native、Flutter、i18next、およびRailsプラットフォームと統合されます。テキストラベルのアップデートは、モバイルアプリに即座にプッシュされます。
更新された設定を適用するためには、新しいリリースを作成する必要があります。リリースに含まれるすべてのコンテンツは、Phrase Stringsで利用可能である必要があり、そこからアプリケーションに直接翻訳がストリーミングされます。コンテンツが存在しない場合、翻訳は納品されません。
モバイルアプリケーションの場合、OTAには、実行時にPhrase Stringsから翻訳を取得するために、関連するSoftware Development Kit (SDK)をアプリケーションに統合する必要があります。
ヒント
配布、リリース、およびAPI参考資料の詳細については、Developer Hubを参照してください。
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、またはアプリパッケージに含まれているバンドルされたStringsにフォールバックします。これにより、エンドユーザーにとってのエラーやStringsの欠落を防ぎます。信頼性の高いフォールバックを保証するために、バンドルされたStringsはアプリリリースのたびに最新の状態に保つ必要があります。
配信とは、特定のプラットフォームやプロジェクトに対して、OTA更新をどのように、どこに配信するかを定義する構成済みのセットアップです。
ターゲットプラットフォームはディストリビューション内で定義されます。
-
iOS
-
Android
-
Flutter
-
i18next
-
Rails
複数のディストリビューションを作成することも可能ですが、理想的には1プロジェクトにつき1つのディストリビューションが適しています。iOSとAndroidでディストリビューションを使用する場合、2つのフォーマットのプレースホルダーは自動的に変換されます。
権限
OTAディストリビューションとリリースの管理は、プロジェクトの割り当て範囲内で行われます。ユーザーは、自分が割り当てられているプロジェクトでのみそれらを管理できます。
オーナー、管理者、プロジェクトマネージャ、開発者、およびデザイナーのロールは、デフォルトでOTAディストリビューションとリリースへのフルアクセス権を持っています。翻訳者はアクセス権を持ちません。
オーナーと管理者は、すべてのプロジェクトにアクセスできます。
ユーザーがディストリビューションを作成するには、その前にアカウントレベルの権限でディストリビューションを管理できるようにする必要があります。新しいディストリビューションは、ユーザーがアクセスできるプロジェクトにのみ関連付けられます。
より詳細な制御が必要な場合、Enterpriseのお客様はサポートTeamにカスタムロールについてお問い合わせください。
フォールバック
ディストリビューションが接続されているプロジェクトの言語設定で言語フォールバックが設定されている場合、要求された言語が存在するもののキーが翻訳されていないときは、選択した言語のStringsが表示されます。
国別の言語(例: en-GB)が使用されているものの、それがリリースに含まれていない場合、システムはその言語の標準バージョン(例: en)がプロジェクト内に存在すれば、それにフォールバックできます。要求された言語が全く見つからない場合は、代わりにプロジェクトのデフォルトロケールが提供されます。
フォールバックはリンクされたキーでは機能しません。
ディストリビューションを作成する
ディストリビューションを作成するには、以下の手順に従ってください。
-
ページのボックスから、Configure、または既に設定が存在する場合は設定数をクリックします。
ページが開き、既存の設定が表示されます。
-
New distributionをクリックします。ウィンドウが開きます。
-
Generalタブで、、配布に関連付ける、必要な、および必要なを指定します。
-
Android配布の場合、Androidタブをクリックし、必要に応じてHTMLタグを含む翻訳をCDATAで囲むファイル形式オプションを選択します。
-
配布に関連付けるプロジェクトを選択すると、Schedulingタブが使用可能になります。必要に応じて、このタブを使用して配布のOTA scheduled releases<2>を設定します。
-
-
Fallback languagesタブで、必要に応じて配布固有のフォールバック設定を選択します。フォールバックオプションは、一覧に表示されている順に優先されます。
-
必要に応じて、Translationsタブをクリックし、レビュー済の最新バージョンの翻訳を使用するオプションを選択します。このオプションは、advanced review workflowを使用している場合にのみ有効にしてください。
-
保存をクリックします。
配布の詳細は、SDKで必要なIDと共に表示されます。詳細は、ページから配布をクリックすることで再度表示できます。
翻訳を更新するには、配布内で新しいリリースを作成します。プロジェクトの現在の状態がエクスポートされ、接続されたクライアントで使用可能になります。
リリースを作成するには、以下の手順に従います。
-
Over the Airページから、必要な配布の横にあるAdd releaseをクリックします。
ウィンドウが開きます。
-
、必要な、、、およびを入力してください。
配信の言語一覧にまだ追加されていない言語は、未選択の状態で表示され、選択できません。今後のリリースで選択できるように、必要な言語を配信に追加します。
リリース作成時に言語が手動で選択されていない場合、配信で設定されているすべての言語がデフォルトでリリースに含まれます。
必要に応じてタグを入力し、特定のタグが付いたキーのみをリリースに含めます。リリースにタグフィルタを追加すると、そのタグが付いたキーのみが含まれます。タグのないキーはリリースから完全に除外され、接続されたアプリはそれらのキーに対して、コードベースにローカルでバンドルされている静的翻訳ファイルにフォールバックします。タグフィルタリングはブランチ機能とは独立して機能します。ブランチ機能が有効な場合はブランチと関連するタグを選択し、ブランチ機能が有効でない場合は関連するタグのみを選択します。
-
保存をクリックします。
リリースは、配信詳細ページの下部にある一覧に追加されます。
配信のリリーススケジュールを定期的に設定するには、以下の手順に従ってください。
-
ページから、必要な配信の横にある歯車
アイコンをクリックします。
ウィンドウが表示されます。
-
リリースをスケジュールタブを選択し、をクリックします。
リリーススケジュールのオプションが表示されます。
備考
スケジューリングオプションは、新しい配信の作成時にも利用できます。
-
のドロップダウンから、利用可能なオプションを1つ選択してリリース頻度を選択します。
-
-
スケジュールされたリリースの希望する曜日を選択します。
-
-
時刻と関連するを入力してください。
-
必要に応じて、スケジュールされたリリースの、、およびを選択します。
-
フィールドは、プロジェクトでブランチ機能が有効になっている場合にのみ表示されます。ブランチを選択すると、ロケールと言語の一覧が更新されます。
-
-
オプションで、およびフィールドにアプリケーションのバージョンを指定します。
空欄のままにすると、スケジュールされたリリースがアプリのすべてのバージョンに適用されます。
-
保存をクリックします。
ディストリビューションは、リリーススケジューリング情報で更新されます。
スケジュールを無効にすると、ディストリビューションの自動リリースは停止しますが、構成された設定は保存されます。
備考
Strings UIには、OTAを一時停止または一時的に無効にするオプションはありません。アプリによる翻訳の取得を停止するには、アプリのOTA設定からディストリビューションIDを削除します。OTAを再開するには、IDを復元します。最終手段として、ディストリビューションを削除して新しく作成してください。
適切なモバイルSDKまたはWebライブラリを統合することで、ワンクリックで翻訳を更新できるだけでなく、使用状況を測定するための指標も得られます。モバイルSDKおよびWebライブラリレポートは、アクティブなアプリユーザーとそのアプリの言語に関する貴重な洞察を提供します。このレポートセットは各ディストリビューションで利用可能であり、データは1日2回更新されます。
レポートは、アクティブユーザー数、リクエスト総数、言語別リクエスト数、プラットフォーム別リクエスト数、および提供されていないデバイス言語について提供されます。
各ディストリビューションのレポートには、ページにあるアイコンからアクセスします。
これらのレポートに表示されるアクティブユーザー数は、固定のカレンダーや請求サイクル期間ではなく、現在の日付に基づく過去30日間のスライディングウィンドウを反映しています。
OTA SDKを統合するための技術ドキュメントは、各プロジェクトリポジトリのREADMEファイルで入手できます: