Mobile Patch Utility ノード

各種 Mobile Patch Utility Blueprint ノードの説明

Windows
MacOS
Linux

モバイル パッケージング ウィザード を使ってモバイル プロジェクト用に小さなサイズの初回ダウンロードセットを作成したら、残りのプロジェクトはダウンロード可能なチャンクにしてユーザーに提供する必要があります。 新しい Mobile Patch Utilities Blueprint ライブラリは、App Store から初回ダウンロードの一部として配布されるのではなく、 モバイル ゲームでクラウド ウェブサイトからゲーム コンテンツとパッチをダウンロードしてインストールするために必要なすべての機能が含まれています。更新されたゲーム コンテンツの可用性を判断、ダウンロードの開始、進捗のトラック、すべてのエラー処理、 正常にダウンロードされたコンテンツ パックのインストールに対応する機能が付いています。空き容量および WiFi 接続の確認機能も付いているので、適宜ブループリントから警告が出されます。 Android と iOS の両方でサポートされています。

これらの関数を 1 つずつ設定例を交えて説明します。 ブループリント グラフのサンプルに入っているのに下表にない場合、その関数あるいはイベントはカスタム ノードになるので、ご自身でプロジェクト内に作成する必要があります。

Pending Content で作業する

パッチング処理の最初の段階です。レベル ロードまたはユーザー アクションからパッチング処理が開始すると、Request Content ノードを使ってリモート サーバーからコンテンツが要求される必要があります。 このサンプルでは、インストール ディレクトリは変数で保存されますが、関数入力によるパスも可能です。Content To Install も再度使用するために変数に保存されます。 コンテンツ リクエストが完了すると、要求の処理結果 (成功 / 失敗) によって異なるイベントが実行されます。カスタム イベントは Request Content 関数の入力として使われます。 この例で使われている Check Download Space 関数は、以下のパッチ処理ロジックを開始するカスタム イベントを呼び出します。

ノード

説明

Request Content

指定されたマニフェスト URL を使ってマニフェスト ファイルのダウンロードを試みます。ダウンロードできたら、リモート コンテンツを表すオブジェクトを返します。このオブジェクトはコンテンツサイズの合計、ダウンロード サイズなど、追加情報をクエリすることができます。ユーザーはリモート コンテンツのダウンロードとインストールを選択することができます。

リモート コンテンツの要求が正常に完了したら、次は Get Required Disk Space ノードを使ってその結果を Get Disk Free Space からの結果と比較して、ダウンロードに十分な空き容量があるか検証します。 必要なディスク容量より空き容量が大きければ、カスタム イベントが呼び出されてダウンロードが始まります。

ノード

説明

Get Disk Free Space

コンテンツのインストール場所 (インストール予定場所) にメガバイトでディスク空き容量を取得します

Get Required Disk Space

このコンテンツのインストールに必要なディスク容量をメガバイトで取得します。

このグラフにはたくさんのノードが含まれていますが、Mobile Patch Utility 関数は Start Install のみで、リモート コンテンツのダウンロードとインストールを試みます。Request Content のように Start Install にも 成功と失敗を示すためのイベント パラメータがあります。インストールが正常に完了したら Mount Content カスタム イベントを使って、パッチ処理の最終ステージをトリガーします。別のカスタム イベントである Display Download State は タイマー設定でここで発行します。タイマーと Update Download State 関数を使って、ダウンロード状況を一定の間隔でユーザーに表示することができます。次のブループリント グラフでこのロジックについてさらに詳しく見てみましょう。

ノード

説明

Start Install

ユーザーはリモート コンテンツのダウンロードとインストールをするか選択できます。ユーザーはインストール済みコンテンツをゲームへマウントするか選択できます。

Display Download State カスタム イベントをこの Format Text ノードに接続している間、 UI (User Interface) 上のプログレス バーを埋めるパッチ処理ステージ、あるいはユーザーに進捗を表示する別のメソッドにもなります。Get Download SizeGet Download SpeedGet Download Status TextGet Install ProgressGet Total Downloaded Size ノードの出力は、 ユーザーに表示するためにシンプル テキスト ブロックとしてまとめられます。このスクリプトはタイマーから一定間隔で呼び出されますが、他のサンプル グラフに対する呼び戻しを行いません。

ノード

説明

Get Download Size

このコンテンツのインストールに必要なダウンロード サイズの合計を取得します。

Get Download Speed

現在のダウンロード速度を秒速メガバイトで取得します。インストール中は有効です。

Get Download Status Text

現在のインストレーション ステータス テキストを取得します。インストール中は有効です。

Get Install Progress

現在のインストールの進捗を取得します。既知の進捗は 0 と 1 の間、未知の進捗は 0 より小さい値になります。

Get Total Downloaded Size

ダウンロード サイズの合計をメガバイトで取得します。インストール中は有効です。

Installed Content で作業する

パッチ処理の最後のステージは、コンテンツのマウントです。格納された Install Directory 変数を最初のブループリント グラフから使用しますが、この変数は関数入力として再度パスされます。 Get Installed Content ノードはディレクトリからコンテンツを検索するために使用します。そして Mount 関数でそのコンテンツをゲームに搭載します。Request ContentStart Install とは異なり、 Mount には、成功時および失敗時のイベント コールバックがありません。

ノード

説明

Get Installed Content

インストール済みコンテンツを取得します。指定ディレクトにインストール済みコンテンツがあれば、non-null オブジェクトを返します。ユーザーはインストール済みコンテンツをゲームへマウントするか選択できます。

Mount

インストール済みコンテンツをマウントします。

その他のモバイル パッチ関数

上のグラフはモバイル デバイス上でのパッチ設定方法のシンプルな例ですが、さらに複雑なビヘイビアの設定も可能です。例えば、WIFI が接続されていない時、ユーザーに警告を出すようにゲームを設定できます。 あるいは、iOS または Android デバイスに別のコンテンツを送ることができます。以下の関数は、このユースケース以外でもブループリントで使うと便利な関数です。

ノード

説明

Get Active Device Profile Name

現在選択されているデバイス プロファイル名を取得します。

Get Installed Content Size

インストール済みコンテンツをメガバイトで取得します。

Get Supported Platform Names

このデバイス上でサポートされているプラットフォーム名のリストを取得します。例:Android_ETC2, Android_ASTC

Has Active Wi Fi Connection

WiFi 接続が現在利用可能かどうかを返します。

タグ
Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信