CRIWARE Unity Plugin Manual  Last Updated: 2024-04-24
HTTPS対応版インストール機能
以下のAPIは、HTTPおよびHTTPSに対応しています。
本機能の使用方法を示すサンプルプロジェクトがあります。こちらもご参照ください。
注意
本機能を使用した場合、iOSの動作要件は iOS7以降 になりますのでご注意ください。

初期化

上記いずれのケースにおいても、 CriWare.CriFsWebInstaller.InitializeModule 関数で初期化を行ってください。
また、使用が終わったら CriWare.CriFsWebInstaller.FinalizeModule 関数を呼び出してください。
CriFsWebInstaller.ModuleConfig moduleConfig = CriFsWebInstaller.defaultModuleConfig;
moduleConfig.numInstallers = 3; // デフォルトの2から3に増やす
moduleConfig.inactiveTimeoutSec = 60;
CriFsWebInstaller.InitializeModule(moduleConfig();
注意
CriWareInitalizerコンポーネントの設定値は使用していません。
最大同時インストールリクエスト数は、CriFsWebInstaller.ModuleConfig.numInstallersにて別途調整が必要です。

CriFsInstallerからの移行

CriWare.CriFsInstaller クラスをお使いの場合、 CriWare.CriFsWebInstaller クラスに置き換えてください。
基本的なAPI仕様はほぼ同じですが、以下の点に注意してください。
移行時の注意点:
  • 初期化処理 が必要です。
  • CriFsInstaller は、一度サーバに接続した場合は内部で無限リトライを行い、タイムアウトしませんでした。
    一方、 CriFsWebInstaller は初期化時に指定された時間でタイムアウトを行います。
  • CriFsInstaller.GetStatus() と CriFsInstaller.GetProgress() は CriFsWebInstaller.GetStatusInfo() に置き換えてください。
  • CriFsWebInstaller では、 Copy時にCriFsBinderを指定することはできません。
  • CriFsInstaller ではすでにファイルがインストール済みの場合上書きしましたが、CriFsWebInstallerは上書きせずエラーとなります。
    必要に応じて事前にアプリケーション側でファイルの削除を行ってください。(ファイルの存在確認を行う場合はC::のSystem.IO.File.Existsメソッドをご利用ください。)
  • CriFsInstaller と CriFsWebInstaller ではHTTPリクエストのやりとりが異なります。
追加仕様:
  • CriFsWebInstaller::GetStatusInfo 関数により、エラー情報が取れるようになりました。
  • CriFsInstaller では、 CriWareIntializer コンポーネントのinstallBufferSizeで進捗の進み具合が変わりましたが、 CriFsWebInstaller は依存せずバイト単位での進捗が取得可能です。

CriFsUtility.Install() からの移行

CriWare.CriFsUtility.Install() を利用してインストールしている場合、 CriWare.CriFsUtility.WebInstall() に置き換えてください。
基本的なAPI仕様はほぼ同じですが、以下の点に注意してください。
移行時の注意点:
  • 初期化処理 が必要です。
  • CriFsUtility.Install() は、一度サーバに接続した場合は内部で無限リトライを行い、タイムアウトしませんでした。
    一方、 CriWare.CriFsUtility.WebInstall() は初期化時に指定された時間でタイムアウトを行います。
  • CriFsUtility.WebInstall() では、 Copy時にCriFsBinderを指定することはできません。
  • CriFsUtility.Install() と CriFsUtility.WebInstall() ではHTTPリクエストのやりとりが異なります。
追加仕様:
  • CriFsUtility.Install() では、 CriWareIntializer コンポーネントのinstallBufferSizeで進捗の進み具合が変わりましたが、 CriFsUtility.WebInstall() は依存せずバイト単位での進捗が取得可能です。
注意事項:
  • CriFsUtility.WebInstall() に関しては、CriFsUtility.Install() 関数との互換維持のため、既にファイルが存在している場合にプラグイン側で自動削除します。
  • CriFsUtility.Install() は、ローカルストレージ間でのファイルコピーはできません。 CriFsUtility.Install() をご利用ください。

内部エラーリトライについて

以下のケースでは、内部でリトライを行います。
  • ネットワーク接続が途中で切れた
  • インターネット接続が途中で出来なくなった
初期化時に指定するタイムアウトを経過しても接続が再開できない場合はタイムアウトエラーになります。
また従来のCriFsInstallerやCriFsUtility.Install()と同じく、インストール開始時にインターネット接続ができない場合、リトライせずにすぐにエラーになります。
従来と同様に、404, 504 のような HTTP でのエラーでは内部でリトライを行いません。
CriFsWebInstaller クラスでは、新たにエラー要因やHTTPステータスコードの取得が可能ですので、アプリケーションのポリシーに応じて適宜エラーハンドリングを行ってください。
なお、CriFsUtility.WebInstall()では、詳細な情報は取得できません。より細かなエラーハンドリングをしたい場合はCriFsWebInstallerクラスをご利用ください。
注意
iOS版については、初回接続時にインターネットにつながらない場合も内部でリトライを行いました。
SDK Ver.2.87から上記の仕様に変更しましたのでご注意ください。