backend(mBaaS)。SDKがv2.2.0にアップデートされ、新たに「ファイルストア機能」が追加されました!ファイルストア機能とは?画像やテキスト、音楽などさまざまな種類のファイルを保存することができるストレージ機能です。mb.cloud.nifty.com/function.htm#filestore「データストア機能」は文字列や数値などの保存に利用するものですが、ファイルストアはメディアコンテンツである画像や音声、動画を保存しておくことができます。ファイルはアプリから保存することもできますし、管理画面からデータをアップロードすることもできます。逆に保存されたデータはアプリで読み込むこともできますし、ブラウザから見ることもできます。今回は後者のアプリ→NCMB→Webの順番で画像データをアップし、アプリにスクリーンショットの公開機能をつけてみます。スクリーンショットを生成Unityにおけるスクリーンショットの撮影はApplication.CaptureScreenshot()を使ってもよいのですが、保存位置を指定できなかったり完了時のコールバックが無かったりで使いにくいので、今回はTexture2DクラスのReadPixels()を使ってスクリーンショットを生成する方法をとります。適当なシーンにボタンを配置します。※特に面白い絵を出す余裕がなかった。ボタンから下記のスクリプトを呼び出すようにしましょう。実際にNCMBのファイルストアに保存するには、Texture2Dのデータをjpg画像にエンコードしてバイト配列にしてやり、NCMBFIleクラスに渡してSaveAsyncを呼びます。成功}});はい!これで保存できました。管理画面で確認するとファイルが確認できます。続いて、このファイルストアに保存した画像ファイルをhttpsで取得したいので、管理画面のアプリ設定→データ・ファイルストアから、「公開ファイル設定」のHTTPSでの取得を「有効」にして下さい。これで、アプリで保存したスクリーンショットをブラウザから見ることができます。URL命名規則はhttps://mb.api.cloud.nifty.com/2013-09-01/applications/YOUR_APPLICATION_ID/publicFiles/YOUR_FILE_NAMEとなり、YOUR_APPLICATION_IDが管理画面から確認できるアプリID、YOUR_FILE_NAMEがファイルストアに保存したファイル名を指定します。スマホのブラウザからアクセスしてみました。今回は特にユーザー管理をやってないので、全ユーザーが「ScreenShot.jpg」を上書きし続けるアレな感じになっています。これはこれでゲームの公式サイトのトップにリンクしたりすれば、常に新しいバトルのスクショが見れる、みたいな仕掛けが作れそうです。ユーザーごとにファイルを設定して、アプリの中から他の人のスクリーンショットを見る機能も作れたりします。コミュニティ機能を作ってみたい人は、ぜひ「ファイルストア機能」を触ってみてください。余談ですが、原理的にはUnityのAssetBundleファイルを置くこともできそうです。NCMBは所謂CDNではないので、大勢が大きいファイルを一斉にダウンロードするような使い方には向いていないです。この辺は、ほかサービスとの連携がよさそうですね。Service)とは、スマートフォンアプリでよく利用される汎用的な機能をSDKとクラウドから提供するサービスです。backendのちょっと便利な使いかた・非公式SDKやアプリ開発の関連情報などをお届けするブログです。※記事内には、サポート対象外の内容も含みます。本ブログではコメント機能を公開しておりません。アプリ開発を行う上での課題解決には、ユーザーコミュニティやもくもく会などもご活用ください。LIMITEDスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。