ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

Unity SDKでファイルストアを検索する

f:id:mbaasdevrel:20200609155631p:plain

Unity SDKのTipsです。ファイルストアでファイル名検索をする方法を紹介します。

結論

NCMBFile.GetQuery() を使いましょう。

クエリを取り出す

ファイルストアを検索するクエリは NCMBFile.GetQuery() で取得できます。

NCMBQuery<NCMBFile> query = NCMBFile.GetQuery();

ファイル名で検索する

ファイル名検索をする際には、正規表現検索を使いましょう。LIKE検索のようなものはないので、注意してください。以下は.pngで終わるファイルの検索です。検索対象のフィールド名はfileNameとします。

Hashtable where = new Hashtable();
where.Add("$regex", ".*\\.png$");
query.WhereEqualTo("fileName", where);

検索を実行する

検索を実行して、それらのファイル名を表示する際のコードです。

IList<NCMBFile> results = await query.FindTaskAsync();
Debug.Log(results.Count);
foreach (NCMBFile file in results) {
    Debug.Log(file["fileName"]);
}

ファイル内容の取得は FetchAsyncFetchTaskAsync を利用してください。

NCMB Unity SDK Library Project: NCMB.NCMBFile クラス

まとめ

あらかじめ登録しているアセットであれば固定名称でもいいですが、ユーザがアップロードしたものだったり、可変な場合は検索を使う方が良いでしょう。皆さんのアプリ開発に役立ててください。

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。