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タブで、、その配信が関連付けられる、必要な、および必要なを指定します。
-
Fallback languagesタブで、必要に応じて配信固有のフォールバック設定を選択します。フォールバックオプションは、リストに表示されている順に優先順位が付けられます。
-
必要に応じて、Translationsタブをクリックして、最新のレビュー済み翻訳バージョンを使用するオプションを選択します。このオプションは、高度なレビューワークフローを利用している場合にのみ有効にしてください。
-
保存をクリックします。
配信の詳細は、SDKで必要とされるIDとともに表示されます。ページから配信をクリックすると、詳細を再度表示できます。
翻訳を更新するには、配信内で新しいリリースを作成します。プロジェクトの現在の状態がエクスポートされ、接続されたクライアントが利用できるようになります。
リリースを作成するには、以下の手順に従ってください。
-
Over the airページから、必要な配信の横にあるAdd releaseをクリックします。
ウィンドウが開きます。
-
、必須の、、、およびを入力してください。
配信の言語リストにまだ追加されていないロケールは、選択されていない状態で表示され、選択できません。今後のリリースで選択できるように、必要な言語を配信に追加してください。
リリース作成時にロケールが手動で選択されていない場合、配布で構成されているすべてのロケールがデフォルトでリリースに含まれます。
必要に応じてタグを入力し、特定のタグが付いたキーのみをリリースに含めます。リリースにタグフィルターを追加すると、そのタグが付いたキーのみが含まれます。タグのないキーはリリースから完全に除外され、接続されたアプリはそれらのキーに対して、コードベースにローカルでバンドルされている静的翻訳ファイルにフォールバックします。タグフィルタリングは、の機能とは独立して動作します。ブランチが有効な場合は、Branchと関連するタグを選択し、ブランチが無効な場合は関連するタグのみを選択してください。
-
保存をクリックします。
リリースは、配布詳細ページの下部にあるリストに追加されます。
配信リリースの定期的なスケジュールを設定するには、以下の手順に従ってください。
-
ページから、必要な配信の横にある歯車アイコン
をクリックします。
ウィンドウが表示されます。
-
リリースのスケジュールタブを選択し、をクリックします。
リリーススケジューリングのオプションが表示されます。
備考
スケジューリングオプションは、(新しい配信の作成時)にも利用できます。
-
のドロップダウンから、利用可能なオプションのいずれかを選んでリリース頻度を設定してください。
-
-
スケジュールされたリリースについて、希望する曜日を選択してください。
-
-
時刻および該当するを指定してください。
-
必要に応じて、スケジュールされたリリースの、、を選択してください。
-
フィールドは、プロジェクトでブランチが有効になっている場合にのみ表示されます。ブランチを選択すると、ロケールと言語のリストが更新されます。
-
-
必要に応じて、およびフィールドにアプリケーションのバージョンを指定してください。
空欄のままにすると、スケジュールされたリリースがアプリのすべてのバージョンに適用されます。
-
保存をクリックします。
配信がリリーススケジューリング情報で更新されます。
スケジュールを無効にすると配信の自動リリースは停止しますが、構成された設定は保存されます。
備考
Strings UIには、OTAを一時停止または一時的に無効にするオプションはありません。アプリによる翻訳の取得を停止するには、アプリのOTA構成から配信IDを削除します。OTAを再開するには、IDを復元します。最終手段として、配信を削除して新しく作成してください。
適切なモバイルSDKまたはWebライブラリを統合することで、ワンクリックで翻訳を更新できるだけでなく、使用状況を測定するための指標も提供されます。モバイルSDKおよびWebライブラリのレポートは、アクティブなアプリユーザーとそのアプリの言語に関する貴重な洞察を提供します。このレポートセットは各配信で利用可能であり、データは1日2回更新されます。
レポートは、アクティブユーザー数、全体のリクエスト数、言語別のリクエスト数、プラットフォーム別のリクエスト数、および未対応のデバイス言語について提供されます。
各配信のレポートには、ページのアイコンからアクセスします。
これらのレポートに表示されるアクティブユーザー数は、固定の暦や請求サイクル期間ではなく、現在の日付に基づく直近30日間の期間を反映しています。
OTA SDKを統合するための技術ドキュメントは、各プロジェクトリポジトリのREADMEファイルで入手できます。