前置き
- クラウドにファイルをセーブする機能を実装するために関連するPlayFabの仕様を調べました
- 2019/Dec時点の仕様です。調べてから時間が空いてますが書く時間が取れたので記事にしたということで。
- 実装自体は大きくつまづく箇所もなく、リリース済みアプリ内で利用中です。
2系統のAPI
クラウドセーブを実装する場合に使うことになるPlayFab提供APIは、大きく分けると2つの系統があります。クラシックとエンティティEntityです。
クラシックAPIの特徴
- 「ユーザー1人あたり」がサイズ制限になっていることが多い
- ファイルを扱う場合はstringに変換する必要がある
- 2018年以前はこの系統のAPIのみが提供されていたので系統名がなかった。Entityが登場したのでクラシックと呼ばれることに。本命登場で幼なじみと呼ばれるようになった感ある。
Entity APIの特徴
- 2018年に導入されたAPI
- JSONファイルやオブジェクトを直接扱える
- 「アプリ全体が利用している量」がサイズ制限になっていることが多い
- PlayFabは、同じことができる場合こちらを使うことを推奨している
2つのAPIをTier毎に比較
ESSENTIAL Tier | PRO/Indie Tier | |
---|---|---|
クラシック API | 10000Byte/ユーザー※ | (運営に相談/ユーザー) |
Entity API | 1GB/プロジェクト | 50TB/プロジェクト |
- プロジェクトに必要なスペック&財布に応じて選ぶといいと思います
- ※だいたい10000byteでなく、本当にきっちり10000byteです1byteでも超えていると、超えているのではじきましたというメールまで届きます。ちょっとくらい超えても大丈夫かなと淡く期待していましたがそんなことなかったです。
Tier
PlayFabの料金プランはTierで分かれている
ESSENTIAL | 無料 |
---|---|
Indie/PRO | 有料 月99$/299$ |
ENTERPRIZE | 有料、法人向け |
※IndieはMAU10万超えでPROに自動移行、受けられるサービスは同じ | |
詳しい記事 => PlayFab 各プランのAPI制限値とか比較してみた |
どちらを選んだか
- 自分は、Essential Tierで利用中で、ユーザー数がどこまで増えるのか予測が難しかったので、10000byteと極小容量ですがユーザー数が増えても同容量使えるクラシックAPIを選びました。実際にどんなコードを組んでいるのかも時間がある時に記事にします。